數據結構教程(C++語言描述)(第3版·微課視頻版)

李春葆 主編;汪鼎文,喻丹丹,安楊 副主編

  • 出版商: 清華大學
  • 出版日期: 2025-05-01
  • 售價: $419
  • 語言: 簡體中文
  • 頁數: 408
  • ISBN: 7302685347
  • ISBN-13: 9787302685340
  • 相關分類: C++ 程式語言
  • 下單後立即進貨 (約4週~6週)

  • 數據結構教程(C++語言描述)(第3版·微課視頻版)-preview-1
  • 數據結構教程(C++語言描述)(第3版·微課視頻版)-preview-2
  • 數據結構教程(C++語言描述)(第3版·微課視頻版)-preview-3
數據結構教程(C++語言描述)(第3版·微課視頻版)-preview-1

買這商品的人也買了...

相關主題

商品描述

"本書系統地介紹了常用的數據結構以及查找和排序的算法,闡述了數據結構的邏輯結構、存儲表示及基本運算,並採用C++語言描述數據組織和基本運算算法的實現,所有算法程序均在Dev C++5.1中調試通過。 全書既註重原理又註重實踐,配有大量圖表和示例,內容豐富,概念講解清楚,表述嚴謹,邏輯性強,語言精練,可讀性好。書中提供了豐富的練習題、上機實驗題和在線編程題,配套的《數據結構教程(C++語言描述)(第3版)學習與上機實驗指導》輔助教材中詳細給出了本書所有練習題和實驗題的解題思路和參考答案,《數據結構在線編程實訓(C++語言)(全程視頻講解版)》輔助教材中詳細給出了所有實戰題和在線編程題的解題思路和參考答案(含全部題目的視頻講解)。 本書內容涉及的廣度和深度符合普通高等學校電腦及相關專業培養目標的要求,配套教學資源豐富,可作為“數據結構”課程的教材,也可作為從事電腦軟件開發和工程應用人員的參考書。 "

作者簡介

李春葆,武漢大學計算機學院教授。主要研究方向為數據挖掘和算法設計,先後主持和參加多個大型研究項目。主要為本科生講授數據結構(15年以上)和軟件工程等課程,為研究生講授軟件開發新技術、數據倉庫與數據挖掘等課程,並出版十多部精品著作。

目錄大綱

目錄

 

掃一掃

 

 

源碼下載

 

 

第1章緒論/

 

 

1.1什麼是數據結構/

 

1.1.1數據結構的定義/

 

1.1.2數據的邏輯結構/

 

1.1.3數據的存儲結構/

 

1.1.4數據的運算/

 

1.1.5數據結構和數據類型/

 

1.2算法及其描述/

 

1.2.1什麼是算法/

 

1.2.2算法描述/

 

1.2.3C++語言描述算法的要點/

 

1.3算法分析/

 

1.3.1算法的設計目標/

 

1.3.2算法的時間性能分析/

 

1.3.3算法的存儲空間分析/

 

1.4數據結構的目標/

 

1.5練習題/

 

1.6上機實驗題/

 

 

 

 

 

 

 

 

 

1.7疑難問題解析及其擴展/

 

 

 

 

 

第2章線性表/

 

 

2.1線性表的定義/

 

2.1.1什麼是線性表/

 

2.1.2線性表的抽象數據類型描述/

 

2.2線性表的順序存儲結構/

 

2.2.1線性表的順序存儲結構——順序表/

 

2.2.2線性表基本運算算法在順序表中的實現/

 

2.2.3順序表的應用算法設計示例/

 

 

 

2.3線性表的鏈式存儲結構/

 

2.3.1鏈表/

 

2.3.2單鏈表/

 

2.3.3單鏈表的應用算法設計示例/

 

2.3.4雙鏈表/

 

2.3.5雙鏈表的應用算法設計示例/

 

2.3.6循環鏈表/

 

2.4順序表和鏈表的比較/

 

2.5線性表的應用——兩個多項式相加/

 

2.5.1問題描述/

 

2.5.2問題求解/

 

2.6STL中的線性表/

 

2.6.1vector向量容器/

 

2.6.2list鏈表容器/

 

2.7練習題/

 

2.8上機實驗題/

 

 

2.9疑難問題解析及其擴展/

 

第3章棧和隊列/

 

 

3.1棧/

 

3.1.1棧的定義/

 

3.1.2棧的順序存儲結構及其基本運算算法的實現/

 

3.1.3順序棧的應用算法設計示例/

 

3.1.4棧的鏈式存儲結構及其基本運算算法的實現/

 

3.1.5鏈棧的應用算法設計示例/

 

3.1.6STL中的stack棧容器/

 

3.1.7棧的綜合應用/

 

3.2隊列/

 

3.2.1隊列的定義/

 

3.2.2隊列的順序存儲結構及其基本運算算法的實現/

 

3.2.3循環隊列的應用算法設計示例/

 

3.2.4隊列的鏈式存儲結構及其基本運算算法的實現/

 

3.2.5鏈隊的應用算法設計示例/

 

3.2.6STL中的queue隊列容器/

 

3.2.7隊列的綜合應用/

 

3.2.8STL中的雙端隊列和優先隊列/

 

*3.3棧和隊列的擴展——單調棧和單調隊列/

 

3.3.1單調棧/

 

3.3.2單調隊列/

 

3.4練習題/

 

 

3.5上機實驗題/

 

3.6疑難問題解析及其擴展/

 

第4章串/

 

 

4.1串的定義/

 

4.2串的存儲結構/

 

4.2.1串的順序存儲結構——順序串/

 

4.2.2串的鏈式存儲結構——鏈串/

 

4.3STL中的string/

 

4.4串的模式匹配/

 

4.4.1BF算法/

 

4.4.2KMP算法/

 

4.5練習題/

 

 

4.6上機實驗題/

 

 

4.7疑難問題解析及其擴展/

 

第5章數組和稀疏矩陣/

 

 

5.1數組/

 

5.1.1數組的基本概念/

 

5.1.2數組的存儲結構/

 

5.1.3數組的應用/

 

5.2特殊矩陣的壓縮存儲/

 

5.2.1對稱矩陣的壓縮存儲/

 

5.2.2三角矩陣的壓縮存儲/

 

5.2.3對角矩陣的壓縮存儲/

 

5.3稀疏矩陣/

 

5.3.1稀疏矩陣的三元組表示/

 

5.3.2稀疏矩陣的十字鏈表表示/

 

5.4練習題/

 

 

5.5上機實驗題/

 

 

5.6疑難問題解析及其擴展/

 

第6章遞歸/

 

 

6.1什麼是遞歸/

 

6.1.1遞歸的定義/

 

6.1.2何時使用遞歸/

 

6.1.3遞歸模型/

 

6.1.4遞歸與數學歸納法/

 

6.1.5遞歸的執行過程/

 

6.1.6遞歸算法的時空分析/

 

6.2遞歸算法設計/

 

6.2.1遞歸算法設計的步驟/

 

6.2.2基於遞歸數據結構的遞歸算法設計/

 

6.2.3基於歸納方法的遞歸算法設計/

 

6.3遞歸算法轉換為非遞歸算法/

 

6.3.1疊代轉換法/

 

6.3.2用棧模擬轉換法/

 

6.4練習題/

 

 

6.5上機實驗題/

 

 

6.6疑難問題解析及其擴展/

 

第7章樹和二叉樹/

 

7.1樹/

 

7.1.1樹的定義/

 

7.1.2樹的邏輯結構表示方法/

 

7.1.3樹的基本術語/

 

7.1.4樹的性質/

 

7.1.5樹的基本運算/

 

7.1.6樹的存儲結構/

 

7.2二叉樹/

 

7.2.1二叉樹的概念/

 

7.2.2二叉樹的性質/

 

7.2.3二叉樹的存儲結構/

 

7.2.4二叉樹的遞歸算法設計/

 

7.2.5二叉樹的基本運算算法及其實現/

 

7.3二叉樹的先序、中序和後序遍歷/

 

7.3.1二叉樹遍歷的概念/

 

7.3.2先序、中序和後序遍歷遞歸算法/

 

7.3.3遞歸遍歷算法的應用/

 

7.3.4先序、中序和後序遍歷非遞歸算法/

 

7.4二叉樹的層次遍歷/

 

7.4.1層次遍歷的過程/

 

7.4.2層次遍歷算法的設計/

 

7.4.3層次遍歷算法的應用/

 

7.5二叉樹的構造/

 

7.5.1由先序/中序序列或後序/中序序列構造二叉樹/

 

*7.5.2序列化和反序列化/

 

7.6線索二叉樹/

 

7.6.1線索二叉樹的定義/

 

7.6.2線索化二叉樹/

 

7.6.3遍歷線索化二叉樹/

 

7.7哈夫曼樹/

 

7.7.1哈夫曼樹的定義/

 

7.7.2哈夫曼樹的構造算法/

 

7.7.3哈夫曼編碼/

 

7.8樹/森林與二叉樹之間的轉換及還原/

 

7.8.1一棵樹與二叉樹的轉換及還原/

 

7.8.2森林與二叉樹的轉換及還原/

 

*7.9並查集/

 

7.9.1並查集的定義/

 

7.9.2並查集的實現/

 

7.10練習題/

 

 

7.11上機實驗題/

 

 

7.12疑難問題解析及其擴展/

 

第8章圖/

 

 

8.1圖的基本概念/

 

8.1.1圖的定義/

 

8.1.2圖的基本術語/

 

8.2圖的存儲結構/

 

8.2.1鄰接矩陣/

 

8.2.2鄰接表/

 

8.3圖的遍歷/

 

8.3.1圖遍歷的概念/

 

8.3.2深度優先遍歷/

 

8.3.3廣度優先遍歷/

 

8.3.4非連通圖的遍歷/

 

8.4圖遍歷算法的應用/

 

8.4.1深度優先遍歷算法的應用/

 

*8.4.2回溯法及其應用/

 

8.4.3廣度優先遍歷算法的應用/

 

8.5生成樹和最小生成樹/

 

8.5.1生成樹和最小生成樹的概念/

 

8.5.2Prim算法/

 

8.5.3Kruskal算法/

 

8.6最短路徑/

 

8.6.1最短路徑的概念/

 

8.6.2Dijkstra算法/

 

8.6.3Floyd算法/

 

8.7拓撲排序/

 

8.7.1什麼是拓撲排序/

 

8.7.2拓撲排序算法的設計/

 

8.8AOE網和關鍵路徑/

 

8.8.1什麼是AOE網/

 

8.8.2求AOE網的關鍵路徑/

 

8.9練習題/

 

 

8.10上機實驗題/

 

 

8.11疑難問題解析及其擴展/

 

第9章查找/

 

 

9.1查找的基本概念/

 

9.2線性表的查找/

 

9.2.1順序查找/

 

9.2.2折半查找/

 

9.2.3索引存儲結構和分塊查找/

 

9.3樹表的查找/

 

9.3.1二叉排序樹/

 

9.3.2平衡二叉樹和AVL樹/

 

9.3.3紅黑樹/

 

 

*9.3.4STL中的關聯容器/

 

9.3.5B樹/

 

9.3.6B+樹/

 

9.4哈希表的查找/

 

9.4.1哈希表的基本概念/

 

9.4.2哈希函數的構造方法/

 

9.4.3哈希沖突的解決方法/

 

9.4.4哈希表查找及性能分析/

 

*9.4.5STL中的哈希表/

 

9.5練習題/

 

 

9.6上機實驗題/

 

 

9.7疑難問題解析及其擴展/

 

第10章排序/

 

 

10.1排序的基本概念/

 

10.2插入排序/

 

10.2.1直接插入排序/

 

10.2.2折半插入排序/

 

10.2.3希爾排序/

 

10.3交換排序/

 

10.3.1冒泡排序/

 

10.3.2快速排序/

 

10.4選擇排序/

 

10.4.1簡單選擇排序/

 

10.4.2堆排序/

 

10.4.3堆數據結構/

 

10.5歸並排序/

 

10.5.1自底向上的二路歸並排序/

 

10.5.2自頂向下的二路歸並排序/

 

10.6基數排序/

 

10.7各種內排序方法的比較和選擇/

 

10.8外排序/

 

10.8.1生成初始歸並段的方法/

 

10.8.2多路歸並方法/

 

10.9練習題/

 

 

10.10上機實驗題/

 

 

10.11疑難問題解析及其擴展/

 

參考文獻/