一個實力超群的程序猿必須知道的數據結構有哪些?
算法
圖搜索 (廣度優先、深度優先)深度優先特別重要排序動態規劃匹配算法和網絡流算法正則表達式和字符串匹配數據結構
圖 (樹尤其重要)Map堆棧/隊列Tries | 字典樹額外推薦
貪婪算法概率方法近似算法下面這個沒有特定優先級
算法:
三路劃分-快速排序合并排序(更具擴展性,復雜度類似快速排序)DF/BF 搜索 (要知道使用場景)Prim / Kruskal (最小生成樹)Dijkstra (最短路徑算法)選擇算法數據結構
HashMap (真的要知道所有哈希結構)圖和樹(紅黑樹很好學) (red-black trees are good to learn)堆(優先級隊列)棧/隊列(必須知道的基礎內容)Tries | 字典樹A *和遺傳算法也很有趣。
下一篇京東單點登錄實現原理