第一章:當我們在討論算法的時候,我們在討論什么?
1-1 我們究竟為什么要學習算法
1-2 課程介紹
第二章:排序基礎
2-1 選擇排序法
2-2 使用模板(泛型)編寫算法
2-3 隨機生成算法測試用例
2-4 測試算法的性能
2-5 插入排序法
2-6 插入排序法的改進
2-7 更多關于O(n*2)排序算法的思考
第三章:高級排序問題
3-1 歸并排序法
3-2 歸并排序法的實現
3-3 歸并排序法的優化
3-4 自底向上的歸并排序算法
3-5 快速排序法
3-6 隨機化快速排序法
3-7 雙路快速排序法
3-8 三路快速排序法
3-9 歸并排序和快速排序的衍生問題
第四章:堆和堆排序
4-1 為什么使用堆
4-2 堆的基本存儲
4-3 Shift Up
4-4 Shift Down
4-5 基礎堆排序和Heapify
4-6 優化的堆排序
4-7 排序算法總結
4-8 索引堆
4-9 索引堆的優化
4-10 和堆相關的其他問題
第五章:二分搜索樹
5-1 二分查找法
5-2 二分搜索樹基礎
5-3 二分搜索樹的節點插入
5-4 二分搜索書的查找
5-5 二分搜索樹的遍歷(深度優先遍歷)
5-6 層序遍歷(廣度優先遍歷)
5-7 刪除最大值,最小值
5-8 二分搜索樹的刪除
5-9 二分搜索樹的順序性
5-10 二分搜索樹的局限性
5-11 樹形問題和更多樹。
第六章:并查集
6-1 并查集基礎
6-2 Qucik Find
6-3 Quick Union
6-4 基于size的優化
6-5 基于rank的優化
6-6 路徑壓縮
第七章:
7-1 圖論基礎
7-2 圖的表示
7-3 相鄰點迭代器
7-4 圖的算法框架
7-5 深度優先遍歷和聯通分量
7-6 尋路
7-7 廣度優先遍歷和最短路徑
7-8 迷宮生成,ps摳圖–更多無權圖的應用
第八章:最小生成樹
8-1 有權圖
8-2 最小生成樹問題和切分定理
8-3 Prim算法的第一個實現
8-4 Prim算法的優化
8-5 優化后的Prim算法的實現
8-6 Krusk算法
8-7 最小生成樹算法的思考
第九章:最短路徑
9-1 最短路徑問題和松弛操作
9-2 Dijkstra算法的思想
9-3 實現Dijkstra算法
9-4 負權邊和Bellman-Ford算法
9-5 實現Bellman-Ford算法
9-6 更多和最短路徑相關的思考
第十章:結束語
10-1 總結,算法思想,大家加油!