這個問答貼來自 Quora。伯樂在線摘編現有的一些熱門回答:
算法
- 圖搜索 (廣度優先、深度優先)深度優先特別重要
- 排序
- 動態規劃
- 匹配算法和網絡流算法
- 正則表達式和字符串匹配
數據結構
- 圖 (樹尤其重要)
- Map
- 堆
- 棧/隊列
- Tries | 字典樹
額外推薦
- 貪婪算法
- 概率方法
- 近似算法
上面是 Arjun Nayini 的推薦,下面是 Ken George 的推薦
注:下面這個沒有特定優先級
算法:
- 三路劃分-快速排序
- 合併排序(更具擴展性,複雜度類似快速排序)
- DF/BF 搜索 (要知道使用場景)
- Prim / Kruskal (最小生成樹)
- Dijkstra (最短路徑算法)
- 選擇算法
數據結構
- HashMap (真的要知道所有哈希結構)
- 圖和樹(紅黑樹很好學) (red-black trees are good to learn)
- 堆(優先級隊列)
- 棧/隊列(必須知道的基礎內容)
- Tries | 字典樹
A *和遺傳算法也很有趣。
歡迎大家補充。
-------------------------------------
伯樂在線另補充一些相關文章:
-------------------------------------