怎么学习算法

Posted by kyle on July 19, 2018

“龟系”刷题法:
慢工出细活,对每道题都进行深入思考,并追求实现“最完美解法”。对于老是喜欢纠结实现细节的我来说,一直以来都是用的这种方法。
但是这种方法的弊端是很明显的。首要的问题就是时间开销太大了,让人无法做学习规划。绕到细节中去时,往往也让人远远地脱离了算法本身的核心思想,费力不讨好。以前我还觉得经过这样“死磕”,能加深记忆。随着不断地深入实践,我越来越深刻地感觉到:提高记忆效率不是靠理解有多深就可以做到的,它需要的是我们“机械地重复”。

“兔系”刷题法:讲究大力出奇迹,以“速”取胜,严格控制做题的时间。这种方法的核心观点认为:所谓的题目,其实就是套路,刷不出题,其实就是懂得的套路少了。所以与其花费大量时间纠结在细节上,不如在规定时间内想不出来就赶紧看答案(悲催的是:有时候答案也看不懂:-P)。经过反复机械地练习,能让我们对算法记忆更牢固。

最重要的:坚持即捷径,犹豫即弯路。