數據結構與算法總結



1、常見數據結構

線性:數組,鏈表,隊列,堆棧,塊狀數組(數組+鏈表),hash表,雙端隊列位圖(bitmap)

樹:堆(大頂堆、小頂堆)trie樹(字母樹or字典樹),後綴樹,後綴樹組,二叉排序/查找樹,B+/B-,AVL樹Treap紅黑樹splay樹線段樹樹狀數組

圖:圖

其它:並查集

2、常見算法

(1)       基本思想:枚舉,遞歸,分治,模擬,貪心,動態規劃,剪枝,回溯

(2)       圖算法:深度優先遍歷與廣度優先遍歷, 最短路徑,最小生成樹,拓撲排序

(3)       字符串算法:字符串查找,hash算法,KMP算法

(4)       排序算法:冒泡,插入,選擇,快排,歸併排序,堆排序,桶排序

(5)       動態規劃:揹包問題,最長公共子序列,最優二分檢索樹

(6)       數論問題:素數問題,整數問題,進制轉換,同餘模運算,

(7)       排列組合:排列和組合算法

(8)       其它:LCA與RMQ問題


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章