Arjun Nayini的推荐
算法
- 1、图搜索 (广度优先、深度优先)深度优先特别重要
 - 2、排序
 - 3、动态规划
 - 4、匹配算法和网络流算法
 - 5、正则表达式和字符串匹配
 
数据结构
- 1、图(树尤其重要)
 - 2、Map
 - 3、栈/队列
 - 5、Tries | 字典树
 
额外推荐
- 贪婪算法
 - 概率方法
 - 近似算法
 
Ken George的推荐
算法
- 三路划分-快速排序
 - 合并排序(更具扩展性,复杂度类似快速排序)
 - DF/BF搜索(要知道使用场景)
 - Prim/Kruskal(最小生成树)
 - Dijkstra(最短路径算法)
 
数据结构
- HashMap(真的要知道所有的哈希结构)
 - 图和树(红黑树很好学)
 - 堆(优先级队列)
 - 栈/队列
 - Tries | 字典树
 - A*和遗传算法也很有趣