1. 線性表 算法
1.1 數組 數組
1.2 鏈表1.2.1 單鏈表 網絡
1.2.2 雙向鏈表 數據結構
1.2.3 循環鏈表 併發
1.2.4 雙向循環鏈表 數據結構和算法
1.2.5 靜態鏈表函數
1.3 棧 post
1.3.1 順序棧 排序
1.3.2 鏈式棧隊列
1.4 隊列
1.4.1 普通隊列
1.4.2 雙端隊列
1.4.3 阻塞隊列
1.4.4 併發隊列
1.4.5 併發阻塞隊列
2. 散列表
2.1 散列函數
2.2 衝突解決
2.2.1 鏈表法
2.2.2 開放尋址
2.2.3 其餘
2.3 動態擴容
2.4 位圖
3.樹
3.1 二叉樹
3.1.1 平衡二叉樹
3.1.2 二叉查找樹
3.1.3 平衡二叉查找樹
3.1.3. 1AVL樹
3.1.3.2 紅黑樹
3.1.4 徹底二叉樹
3.1.5 滿二叉樹
3.2 多路查找樹
3.2.1 B樹
3.2.2 B+樹
3.2.3 2-3樹
3.2.4 2-3-4樹
3.3 堆
3.3.1 小頂堆
3.3.2 大頂堆
3.3.3 優先級隊列
3.3.4 斐波那契堆
3.3.5 二項堆
3.4 其餘
3.4.1 樹狀數組
3.4.2 線段樹
4. 圖
4.1 圖的存儲
4.1.1 鄰接矩陣
4.1.2 鄰接表
4.2 拓撲排序
4.3 最短路徑
4.4 關鍵路徑
4.5 最小生成樹
4.6 二分圖
4.7 最大流
5. 複雜度分析
5.1 空間複雜度
5.2 時間複雜度
5.2.1 最好時間複雜度
5.2.2 最壞時間複雜度
5.2.3 平均時間複雜度
5.2.4 均攤事件複雜度
6. 基本算法思想
6.1 貪心算法
6.2 分治算法
6.3 動態規劃
6.4 回溯算法
6.5 枚舉算法
7. 排序
7.1 O(n2)算法
7.1.1冒泡排序
7.1.2 插入排序
7.1.3 選擇排序
7.1.4 希爾排序
7.2 O(nLogn)算法
7.2.1 歸併排序
7.2.2 快速排序
7.2.3 堆排序
7.3 O(N)算法
7.3.1 計數排序
7.3.2 計數排序
7.3.3 桶排序
8. 搜索
8.1 深度優先搜索
8.2 廣度優先搜索
8.3 A*啓發式搜索
9.查找
9.1 線性表查找
9.2 樹結構查找
9.3 散列表查找
10.字符串匹配
10.1 樸素匹配
10.2 KMP算法
10.3 Robin-Karp R-K算法
10.4 Boyer-Moore B-M算法
10.5 AC自動機
10.6 Trie樹
10.7 後綴數組
11. 其餘
11.1 數論
11.2 計算幾何
11.3 機率分析
11.4 並查集
11.5 拓撲網絡
11.6 矩陣運算
11.7 線性規劃