1. 程式人生 > >演算法與資料結構學習目錄

演算法與資料結構學習目錄

第一章 演算法基礎

  演算法複雜度計算

  神奇的兔子數列

 

第二章 線性表

  連結串列

  連結串列例項

 

第三章 棧與佇列

  棧

  佇列

 

第四章 陣列

  陣列

  特殊矩陣的壓縮儲存

 

第五章 字串

  字串

  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

 

第二十八章 二分圖最大匹配

  配對方案

  匈牙利演算法

 

第二十九章 最大流最小割

  最大收益

  方格取數

 

第三十章 最小費用最大流

  最小費用路演算法

  消圈演算法