相比较实现,面试与否对算法设计的学习影响就明显一些。 算法学习总是从具体的算法技巧开始, 比如排序的不同方法,
动态规划的掌握,图论里各种经典问题的解决方法等等, 这些也是面试中主要用到的知识。 算法技巧很多, 学习不可能面面
俱到,出于应对面试的实用考虑,书籍的学习还是必要的,个人体会两本经典的阅读还是很有益处的:
Algorithms, by Robert Sedgewick and Kevin Wayne
Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
这两本书籍的阅读提供了一个对算法的总体掌握,阅读目的可以是为了对不同算法的基本了解,也可以是为了比较深入理解包
括空间时间复杂度的分析,习题的练习等等。 这两本书籍里的算法基本上可以满足面试中80%问题的解决,考虑到面试难度的
不断变化,有些面试问题需要用到更复杂的算法技巧比如Fenwick Tree, 可以加强一些 competitive programming算法的学习,
网上有很多的资源, 差别不是太大,个人学习过的网站有: https://cp-algorithms.com/ https://www.geeksforgeeks.org/co ... g-a-complete-guide/ https://docs.google.com/document ... iYh4pKILYG2eA4/edit