This topic created in 2519 days ago, the information mentioned may be changed or developed.
最近在学习算法,我发现智商太不够用了。比如最近看的一个字符串排序的算法”键索引计数法“,按照书本所说这已经是比较基础的算法了,可是我花了好几个小时才想明白,期间还各种百度。我觉得不太好理解的一个原因是因为书本上的语言太晦涩了,所以有点看不懂,后来找了一个代码看了下就容易明白了。
我在想,能创造出这个”键索引计数法“的人,真是厉害。他是怎么想出来的呢。如果是我的话,这辈子估计都想不出来这种算法。所以我觉得不我不可能创造一个算法,只能学别人创造出来的,感觉这样非常没有前途
大家对学习算法有什么看法和建议
6 replies • 2019-06-27 02:04:34 +08:00
 |
|
1
Raisu Jun 26, 2019 via Android
写上教科书的算法想不出来是正常的。 我第一本算法书就是 算法导论
|
 |
|
2
ninechapter Jun 26, 2019
算法的学习,70%靠实践,30%靠理论。通过积累一定的刷题量,可以完成实践和总结。建议在 lintcode 上面做算法题,有 2000 多道,按类别做上 3 个月,如二叉树、二分法、动归、图论这些,一定有质的飞跃。
|
 |
|
3
Heartbleed Jun 26, 2019 via Android
之前在学红黑树的时候就在感慨怎么会有人想出这种东西...
|
 |
|
4
Oz2011 Jun 26, 2019 1
如果觉得自己智力不够,那放弃也没关系。算法导论里至少前面那些基本的数据结构 list stack array map set hash 要非常了解,还有各种操作的复杂度,算法导论我觉得至少要读到动态规划那。
其实复杂的算法在日常工作中也不是经常用到,也就是上面说的那些数据结构 要用的时候选择复杂度好的。工作我觉得就够了。
很多人练算法主要是为了面试,尤其是美国公司面试算法的很多。确实理论上你不用看太多,稍微看看可以去 leetcode 先捡 easy 的做。easy 的能做完我觉得其实就比大部分,至少 70%的人要好了吧。向链表反转,求交点这种都是以前面试经常会问到的题目。
|
 |
|
5
zetary Jun 26, 2019 1
别人做研究的也不是一天提一个算法, 很多算法是在漫长的岁月中一点点被提出来的, 而且研究者通常要做理论分析, 当你去做分析的时候你会有意识地去避免复杂度高的操作, 这样子也能提供一点基本的想法吧. 学的话慢慢来没关系的, 熟悉了就好了.
|
 |
|
6
ayyll Jun 27, 2019 via Android
多刷 dp 最好和别人一块 你会知道什么叫智商碾压
|