資料結構實戰完全手冊-夏曹俊-專題視訊課程
阿新 • • 發佈:2018-11-08
資料結構實戰完全手冊—85人已學習
課程介紹
資料結構是程式設計的必修知識,它是程式設計的基本功,並且在企業面試、日常工作、研究生入學考試中都佔有重要的地位。不同於其他課程,本課程從單鏈表出發,手把手的全程式碼實現了棧與佇列,樹、圖(包括陣列和連結串列的兩種形式),並對這些經典結構的應用也做了程式碼級的實現,覆蓋了經典資料結構的全部內容
課程收益
1.理解資料結構的由來,並能熟練掌握程式設計的基本技能。 2.從程式碼級別完全實現了經典資料結構的全部內容。 3.通過資料結構知識講解,為後繼演算法設計、求職筆試、研究生入學考試打下了良好基礎。
講師介紹
夏曹俊 更多講師課程
夏曹俊:南京捷帝科技有限公司創始人,南京大學計算機碩士畢業,有15年c++跨平臺專案研發的經驗,領導開發過大量的c++虛擬模擬,計算機視覺,嵌入式影象處理,雲安全審計專案,比賽鷹眼系統,主編出版過《C++實訓教程》,並同時熟悉php,c#,java,安卓專案研發。
課程大綱
第1章:緒論與線性表
1. 課程介紹(可以加入qq群中交流和下載程式碼 794420838) 18:00
2. 資料結構本質論-計算思維解析:來自客戶資訊維護,交通燈問題求解的啟發 25:49
3. 資料結構新視角:資料結構就是存數值、存關係 6:56
4. 資料結構與程式效能衡量——大O記法的工程價值 10:20
5. 線性表工程背景與學習要點:Word的場景、手機接入與資料結構抽象 9:02
6. 陣列順序表(一)定義與初始化 18:59
7. 陣列順序表(二)求元素個數、取元素與定位 11:55
8. 陣列順序表(三)插入、刪除與功能測試完成 27:08
9. 單鏈表與順序表(一)存關係與節點聯絡跟蹤解析 19:22
10. 單鏈表與順序表(二)求元素個數、取值與查詢 18:16
11. 建立單鏈表尾插法深入剖析(三)連結串列結構的記憶體是由程式設計師管理的 23:13
12. 建立單鏈表頭插法深入剖析(四)頭插法的三種方案 30:49
13. 單鏈表元素插入(五)前插與後插的實現 11:32
14. 單鏈表順序表的刪除(六)邏輯結構與物理結構的再認識 10:28
15. 單鏈表順序表的功能驗證(七) 7:17
16. 建立自己的庫函式(八)陣列順序表與單鏈表順序表的封裝 14:04
17. 單鏈表案例(一)就地轉置-原表與逆序表佔用空間相同:陣列結構與單鏈表結構的應用實現 37:22
18. 單鏈表的運算思想:單鏈表節點關係的維護與單鏈表操作演算法設計 7:28
19. 單鏈表案例(二)一元多項式相加 45:16
20. 單鏈表案例(三):學生管理系統(陣列)——具有預訂空間的解決方案 31:29
21. 連結串列的變體迴圈連結串列(一):單步跟蹤下的詳細分析 30:48
22. 迴圈連結串列(二):建立與合併 16:30
23. 約瑟夫環的實現(三):迴圈連結串列除錯bug定位技巧 19:20
24. 雙向連結串列的實現與在Linux核心中應用的淺要介紹 16:22
第2章:棧和佇列
1. 棧的工程背景:函式棧幀呼叫與call stack的除錯技巧 9:45
2. 棧的學習要點:棧的邏輯定義與程式實現對應關係的剖析 9:35
3. 順序棧的實現:數值轉換的應用案例 21:13
4. 鏈棧的實現:指標初始化的除錯技巧分享 17:08
5. 遞迴與函式棧幀深入剖析:call stack除錯技巧 18:45
6. 佇列的工程背景與設計技巧:遊戲使用者進入等待,郵件重發機制與訂單緩衝區 19:58
7. 順序佇列設計技巧剖析:“假溢位”與迴圈佇列,front指向隊頭的上一個元素的設計思想由來 33:15
8. 鏈佇列設計技巧剖析:單步跟蹤鏈佇列執行剖析與記憶體釋放 30:14
9. 中綴表示式完全剖析:巧用C/C++重新命名複用SeqStack結構 37:29
10. 字尾表示式(逆波蘭表示式)實現 14:33
11. 帶括號的中綴表示式轉字尾表示式 25:40
12. 八皇后問題的非遞迴實現-回溯法與棧的應用(一) 41:35
13. 迷宮路徑求解的非遞迴實現-回溯法與棧的實現(二) 43:14
14. 遞迴設計入門:將遞迴函式看成答案本身 10:45
15. 八皇后問題的遞迴實現 11:42
16. 迷宮路徑求解的遞迴實現 12:52
第3章:樹和二叉樹
1. 樹的工程背景:網站結構、表示式樹及相關概念定義介紹 15:08
2. 雙親孩子檢驗法是樹形結構儲存的法則:部門資訊儲存的實際設計案例 11:21
3. 二叉樹的由來與樹的孩子兄弟儲存發法:樹型鏈式儲存中的同構性與異構性設計問題 14:07
4. 陣列與連結串列的結合:孩子連結串列表示法 5:06
5. 二叉樹與樹相互轉化的演算法流程介紹 19:04
6. 滿二叉樹、完全二叉樹與二叉樹的三條基本性質 13:33
7. 陣列形式的二叉樹完全實現:以二叉搜尋樹建立為例 41:47
8. 智慧製造中的樹形結構應用案例:資料結構是程式的靈魂 9:20
9. 層次法建立二叉連結串列樹詳細剖析:使用輔助佇列“存關係”的思路詳解 53:35
10. 二叉連結串列的跟蹤技巧、工程經驗分享與非線性結構遍歷問題的引出 21:57
11. 前序、中序、後序遍歷的定義、遞迴實現與層次法遍歷需要佇列輔助的原因釋疑 25:33
12. 觀念中的二叉樹構建:通過經典習題構建二叉樹思維模型 34:27
13. 非遞迴前序遍歷二叉樹:一個深拷貝引出的bug剖析 32:53
14. 非遞迴中序遍歷二叉樹 11:09
15. 非遞迴後序遍歷二叉樹:一個短路邏輯的實踐技巧 15:08
16. 當前非遞迴遍歷方案評述:存在的問題與程式優化的思路 15:49
17. 棧結構與樹結構之間傳遞的程式設計技巧和軟體複用的設計思想 21:34
18. 重構到非遞迴遍歷的經典資料結構:非侵入式資料結構設計與可複用軟體開發 17:35
19. 獲取二叉樹的所有葉子節點、獲取全樹深度與左右子樹深度求解:遞迴遍歷中全域性變數置0的程式技巧 26:32
20. 根據前序、中序序列重建一棵二叉樹的程式碼實現 14:44
21. 求一棵二叉樹根到所有葉子節點的路徑 12:06
22. 判斷兩棵樹是否相等與使用二叉連結串列法建立二叉搜尋樹 21:12
23. 二叉樹映象:交換左右子樹 5:51
24. 平衡二叉樹(AVL)的概念:與二叉搜尋樹的辨析 19:18
25. 平衡二叉樹(AVL)單向左旋、單向右旋圖示法講解 18:10
26. 平衡二叉樹(AVL)先左後右、先右後左圖示法講解 23:00
27. 平衡二叉樹(AVL)完全程式碼實現 43:01
28. 二叉樹的結構展示:層次遍歷二叉樹完全程式碼實現 15:50
29. 哈夫曼樹與最優不等長編碼:Huffman樹的由來 14:30
30. 哈夫曼樹完全程式碼實現 30:08
第4章:圖
1. 拓撲形態等價性-圖的工程抽象:地圖染色、搜尋引擎、最短航線和電路分析 12:53
2. 圖的概念及資料結構:鄰接矩陣法的示例與程式碼實現 30:05
3. 鄰接表的示例與程式碼實現 19:14
4. 邊集陣列法、十字連結串列法、鄰接多重表:圖的儲存結構評述 10:52
5. 圖的染色與日期衝突安排案例完全程式碼實現:Welsh-Powell法 01:10:06
6. 鄰接陣列的深度(DFS)、廣度(BFS)優先遍歷完全程式碼實現 20:38
7. 鄰接表的深度(DFS)、廣度(BFS)優先遍歷完全程式碼實現 7:57
8. 網路冗餘鏈路問題與圖的最小生成樹 7:57
9. Kruskal演算法與並查集完全程式碼實現:圖的最小生成樹演算法 44:42
10. Prim演算法完全程式碼實現:圖的最小生成樹演算法 42:39
11. 圖的單源最短路徑:Dijkstra演算法完全程式碼實現 59:05
12. 圖的多源最短路徑:Flod-Warshall演算法完全程式碼實現 22:25
13. 先修排課、編譯器分析與AOV網的拓撲排序 10:25
14. 活動頂點拓撲排序AOV網完全程式碼實現-先修課程案例 29:44
15. 工期排序、AOE網與關鍵路徑法以及堆記憶體分配除錯經驗分享 01:02:03
第5章:排序與查詢
1. 排序概論與直接插入排序完全程式碼實現 26:48
2. 插入排序的改進:希爾排序(縮小增量排序法)完全程式碼實現 15:22
3. 交換排序:氣泡排序完全程式碼實現 14:00
4. 交換排序:快速排序完全程式碼實現 24:15
5. 選擇排序:直接選擇排序完全程式碼實現 3:31
6. 選擇排序:堆排序完全程式碼實現 17:53
7. 歸併排序概念與2-路歸併排序完全程式碼實現 24:22
8. 桶排序概念與基數排序演算法完全程式碼實現 17:11
9. 各類排序的比較與總結 5:17
10. 各類索引結構圖示講解 8:04
11. 查詢有序線性表:二分查詢法完全程式碼實現 11:37
12. 查詢有序線性表:斐波那契查詢法完全程式碼實現 13:49
13. 字典樹(Trie樹)詞頻統計、單詞搜尋的完全程式碼實現:非數值有序表查詢、一個記憶體初始化的程式設計技巧演示 17:50
14. 字串的搜尋與匹配(BF與KMP演算法)完全剖析 35:52
15. 雜湊技術 6:53
16. 經典演算法舉例:窮舉、貪心與動態規劃 45:18
17. 綜合案例Huffman壓縮 01:14:15
18. 綜合案例動態陣列. 23:32
大家可以點選【 檢視詳情】檢視我的課程
課程介紹
資料結構是程式設計的必修知識,它是程式設計的基本功,並且在企業面試、日常工作、研究生入學考試中都佔有重要的地位。不同於其他課程,本課程從單鏈表出發,手把手的全程式碼實現了棧與佇列,樹、圖(包括陣列和連結串列的兩種形式),並對這些經典結構的應用也做了程式碼級的實現,覆蓋了經典資料結構的全部內容
課程收益
1.理解資料結構的由來,並能熟練掌握程式設計的基本技能。 2.從程式碼級別完全實現了經典資料結構的全部內容。 3.通過資料結構知識講解,為後繼演算法設計、求職筆試、研究生入學考試打下了良好基礎。
講師介紹
夏曹俊 更多講師課程
夏曹俊:南京捷帝科技有限公司創始人,南京大學計算機碩士畢業,有15年c++跨平臺專案研發的經驗,領導開發過大量的c++虛擬模擬,計算機視覺,嵌入式影象處理,雲安全審計專案,比賽鷹眼系統,主編出版過《C++實訓教程》,並同時熟悉php,c#,java,安卓專案研發。
課程大綱
第1章:緒論與線性表
1. 課程介紹(可以加入qq群中交流和下載程式碼 794420838) 18:00
2.
3. 資料結構新視角:資料結構就是存數值、存關係 6:56
4. 資料結構與程式效能衡量——大O記法的工程價值 10:20
5. 線性表工程背景與學習要點:Word的場景、手機接入與資料結構抽象 9:02
6. 陣列順序表(一)定義與初始化
7. 陣列順序表(二)求元素個數、取元素與定位 11:55
8. 陣列順序表(三)插入、刪除與功能測試完成 27:08
9. 單鏈表與順序表(一)存關係與節點聯絡跟蹤解析 19:22
10. 單鏈表與順序表(二)求元素個數、取值與查詢 18:16
11. 建立單鏈表尾插法深入剖析(三)連結串列結構的記憶體是由程式設計師管理的 23:13
12. 建立單鏈表頭插法深入剖析(四)頭插法的三種方案 30:49
13. 單鏈表元素插入(五)前插與後插的實現 11:32
14. 單鏈表順序表的刪除(六)邏輯結構與物理結構的再認識 10:28
15. 單鏈表順序表的功能驗證(七) 7:17
16. 建立自己的庫函式(八)陣列順序表與單鏈表順序表的封裝 14:04
17. 單鏈表案例(一)就地轉置-原表與逆序表佔用空間相同:陣列結構與單鏈表結構的應用實現 37:22
18. 單鏈表的運算思想:單鏈表節點關係的維護與單鏈表操作演算法設計 7:28
19. 單鏈表案例(二)一元多項式相加 45:16
20. 單鏈表案例(三):學生管理系統(陣列)——具有預訂空間的解決方案 31:29
21. 連結串列的變體迴圈連結串列(一):單步跟蹤下的詳細分析 30:48
22. 迴圈連結串列(二):建立與合併 16:30
23. 約瑟夫環的實現(三):迴圈連結串列除錯bug定位技巧 19:20
24. 雙向連結串列的實現與在Linux核心中應用的淺要介紹 16:22
第2章:棧和佇列
1. 棧的工程背景:函式棧幀呼叫與call stack的除錯技巧 9:45
2. 棧的學習要點:棧的邏輯定義與程式實現對應關係的剖析 9:35
3. 順序棧的實現:數值轉換的應用案例 21:13
4. 鏈棧的實現:指標初始化的除錯技巧分享 17:08
5. 遞迴與函式棧幀深入剖析:call stack除錯技巧 18:45
6. 佇列的工程背景與設計技巧:遊戲使用者進入等待,郵件重發機制與訂單緩衝區 19:58
7. 順序佇列設計技巧剖析:“假溢位”與迴圈佇列,front指向隊頭的上一個元素的設計思想由來 33:15
8. 鏈佇列設計技巧剖析:單步跟蹤鏈佇列執行剖析與記憶體釋放 30:14
9. 中綴表示式完全剖析:巧用C/C++重新命名複用SeqStack結構 37:29
10. 字尾表示式(逆波蘭表示式)實現 14:33
11. 帶括號的中綴表示式轉字尾表示式 25:40
12. 八皇后問題的非遞迴實現-回溯法與棧的應用(一) 41:35
13. 迷宮路徑求解的非遞迴實現-回溯法與棧的實現(二) 43:14
14. 遞迴設計入門:將遞迴函式看成答案本身 10:45
15. 八皇后問題的遞迴實現 11:42
16. 迷宮路徑求解的遞迴實現 12:52
第3章:樹和二叉樹
1. 樹的工程背景:網站結構、表示式樹及相關概念定義介紹 15:08
2. 雙親孩子檢驗法是樹形結構儲存的法則:部門資訊儲存的實際設計案例 11:21
3. 二叉樹的由來與樹的孩子兄弟儲存發法:樹型鏈式儲存中的同構性與異構性設計問題 14:07
4. 陣列與連結串列的結合:孩子連結串列表示法 5:06
5. 二叉樹與樹相互轉化的演算法流程介紹 19:04
6. 滿二叉樹、完全二叉樹與二叉樹的三條基本性質 13:33
7. 陣列形式的二叉樹完全實現:以二叉搜尋樹建立為例 41:47
8. 智慧製造中的樹形結構應用案例:資料結構是程式的靈魂 9:20
9. 層次法建立二叉連結串列樹詳細剖析:使用輔助佇列“存關係”的思路詳解 53:35
10. 二叉連結串列的跟蹤技巧、工程經驗分享與非線性結構遍歷問題的引出 21:57
11. 前序、中序、後序遍歷的定義、遞迴實現與層次法遍歷需要佇列輔助的原因釋疑 25:33
12. 觀念中的二叉樹構建:通過經典習題構建二叉樹思維模型 34:27
13. 非遞迴前序遍歷二叉樹:一個深拷貝引出的bug剖析 32:53
14. 非遞迴中序遍歷二叉樹 11:09
15. 非遞迴後序遍歷二叉樹:一個短路邏輯的實踐技巧 15:08
16. 當前非遞迴遍歷方案評述:存在的問題與程式優化的思路 15:49
17. 棧結構與樹結構之間傳遞的程式設計技巧和軟體複用的設計思想 21:34
18. 重構到非遞迴遍歷的經典資料結構:非侵入式資料結構設計與可複用軟體開發 17:35
19. 獲取二叉樹的所有葉子節點、獲取全樹深度與左右子樹深度求解:遞迴遍歷中全域性變數置0的程式技巧 26:32
20. 根據前序、中序序列重建一棵二叉樹的程式碼實現 14:44
21. 求一棵二叉樹根到所有葉子節點的路徑 12:06
22. 判斷兩棵樹是否相等與使用二叉連結串列法建立二叉搜尋樹 21:12
23. 二叉樹映象:交換左右子樹 5:51
24. 平衡二叉樹(AVL)的概念:與二叉搜尋樹的辨析 19:18
25. 平衡二叉樹(AVL)單向左旋、單向右旋圖示法講解 18:10
26. 平衡二叉樹(AVL)先左後右、先右後左圖示法講解 23:00
27. 平衡二叉樹(AVL)完全程式碼實現 43:01
28. 二叉樹的結構展示:層次遍歷二叉樹完全程式碼實現 15:50
29. 哈夫曼樹與最優不等長編碼:Huffman樹的由來 14:30
30. 哈夫曼樹完全程式碼實現 30:08
第4章:圖
1. 拓撲形態等價性-圖的工程抽象:地圖染色、搜尋引擎、最短航線和電路分析 12:53
2. 圖的概念及資料結構:鄰接矩陣法的示例與程式碼實現 30:05
3. 鄰接表的示例與程式碼實現 19:14
4. 邊集陣列法、十字連結串列法、鄰接多重表:圖的儲存結構評述 10:52
5. 圖的染色與日期衝突安排案例完全程式碼實現:Welsh-Powell法 01:10:06
6. 鄰接陣列的深度(DFS)、廣度(BFS)優先遍歷完全程式碼實現 20:38
7. 鄰接表的深度(DFS)、廣度(BFS)優先遍歷完全程式碼實現 7:57
8. 網路冗餘鏈路問題與圖的最小生成樹 7:57
9. Kruskal演算法與並查集完全程式碼實現:圖的最小生成樹演算法 44:42
10. Prim演算法完全程式碼實現:圖的最小生成樹演算法 42:39
11. 圖的單源最短路徑:Dijkstra演算法完全程式碼實現 59:05
12. 圖的多源最短路徑:Flod-Warshall演算法完全程式碼實現 22:25
13. 先修排課、編譯器分析與AOV網的拓撲排序 10:25
14. 活動頂點拓撲排序AOV網完全程式碼實現-先修課程案例 29:44
15. 工期排序、AOE網與關鍵路徑法以及堆記憶體分配除錯經驗分享 01:02:03
第5章:排序與查詢
1. 排序概論與直接插入排序完全程式碼實現 26:48
2. 插入排序的改進:希爾排序(縮小增量排序法)完全程式碼實現 15:22
3. 交換排序:氣泡排序完全程式碼實現 14:00
4. 交換排序:快速排序完全程式碼實現 24:15
5. 選擇排序:直接選擇排序完全程式碼實現 3:31
6. 選擇排序:堆排序完全程式碼實現 17:53
7. 歸併排序概念與2-路歸併排序完全程式碼實現 24:22
8. 桶排序概念與基數排序演算法完全程式碼實現 17:11
9. 各類排序的比較與總結 5:17
10. 各類索引結構圖示講解 8:04
11. 查詢有序線性表:二分查詢法完全程式碼實現 11:37
12. 查詢有序線性表:斐波那契查詢法完全程式碼實現 13:49
13. 字典樹(Trie樹)詞頻統計、單詞搜尋的完全程式碼實現:非數值有序表查詢、一個記憶體初始化的程式設計技巧演示 17:50
14. 字串的搜尋與匹配(BF與KMP演算法)完全剖析 35:52
15. 雜湊技術 6:53
16. 經典演算法舉例:窮舉、貪心與動態規劃 45:18
17. 綜合案例Huffman壓縮 01:14:15
18. 綜合案例動態陣列. 23:32
大家可以點選【 檢視詳情】檢視我的課程