演算法與資料結構學習目錄
第一章 演算法基礎
演算法複雜度計算
神奇的兔子數列
第二章 線性表
連結串列
連結串列例項
第三章 棧與佇列
棧
佇列
第四章 陣列
陣列
特殊矩陣的壓縮儲存
第五章 字串
字串
KMP演算法
第六章 二叉樹
二叉樹儲存
二叉樹遍歷
第七章 樹+貪心
哈夫曼樹
哈夫曼編碼
第八章 圖的儲存
鄰接矩陣
鄰接表
第九章 圖搜尋
深度優先搜尋
廣度優先搜尋
第十章 圖的連通性
連通分量
Tarjan演算法
第十一章 圖+貪心
最短路徑
Dijkstra、Floyd演算法
最小生成樹
Prim、Kruskal演算法
第十二章 圖的應用
拓撲排序
關鍵路徑
第十三章 查詢+分治
折半查詢
雜湊表
第十四章 數表查詢
二叉搜尋樹
平衡二叉樹
第十五章 簡單排序
插入排序
氣泡排序
第十六章 排序+分治
快速排序
歸併排序
第十七章 樹形排序
選擇排序
堆排序
第十八章 分配排序
桶排序
基數排序
第十九章 高階資料結構
並查詢
優先佇列
樹狀陣列
線段樹
倍增、ST表、RMQ
LCA
Treap樹
樹鏈剖分
字典樹
字尾陣列
分塊
點分治
邊分治
AC自動機
B-樹
紅黑樹
伸展樹Splay
K-D樹
動態樹
左偏樹(可合併堆)
SBT樹
跳錶
樹套樹
可持久化資料結構
第二十章 貪心+動態規劃
揹包問題
第二十一章 動態規劃
線性DP
最長公共子序列、最長上升子序列
樹形DP
揹包類樹形DP
區間DP
矩陣連乘、石子合併
數位DP
數字遊戲
狀態壓縮DP
旅行商
插頭DP
第二十二章 動態規劃優化
倍增優化
資料結構優化
單調佇列優化
斜率優化
四邊不等式優化
第二十三章 深度搜索應用
回溯法
揹包
地圖著色
n皇后
最優加工順序
第二十四章 廣度搜索應用
揹包
旅行商問題
第二十五章 啟發式搜尋
A*搜尋
第二十六章 最大流
最短增廣路演算法
Dinic演算法
第二十七章 最大流改進演算法
標籤演算法ISPA
第二十八章 二分圖最大匹配
配對方案
匈牙利演算法
第二十九章 最大流最小割
最大收益
方格取數
第三十章 最小費用最大流
最小費用路演算法
消圈演算法