數據結構(C語言,慕課版)

主編:殷超 李慶印 副主編:肖愛梅 鄭明文 麻雲軒 梁志睿 王紅霞

  • 出版商: 清華大學
  • 出版日期: 2024-09-01
  • 定價: $419
  • 售價: 8.5$356
  • 語言: 簡體中文
  • ISBN: 7302657009
  • ISBN-13: 9787302657002
  • 相關分類: C 程式語言
  • 下單後立即進貨 (約4週~6週)

  • 數據結構(C語言,慕課版)-preview-1
  • 數據結構(C語言,慕課版)-preview-2
  • 數據結構(C語言,慕課版)-preview-3
數據結構(C語言,慕課版)-preview-1

相關主題

商品描述

"“數據結構”是電腦、信息技術等相關專業的一門重要的專業基礎課程、核心課程。本書內容適應 MOOC+SPOC線上線下混合式教學模式,貼近當前普通高等院校“數據結構”課程的現狀和發展趨勢;符合研究生考試大綱要求,難度適中,通俗易懂;書中案例典型、豐富,結構清晰,重難點突出。本書內容共分 13章,主要包括數據結構概述,算法分析基礎,線性表,棧,隊列,串,數組,廣義表,樹,二叉樹,圖,查找與排序等。每章均提供了線上資源,讀者可通過掃描本書提供的二維碼,使用配套課程 MOOC,進行線上學習,參加小節彈題測試、章節測試、章討論、課程測試,並獲得定期在線答疑服務。 《數據結構(C語言,慕課版 )》可作為普通高等院校電腦專業、信息與計算科學專業等相關專業“數據結構”課程的教材,也可供準備參加電腦專業研究生考試人員,以及從事電腦軟件開發和應用的工程技術人員閱讀和參考。"

目錄大綱

目    錄 

 

第1章  緒論 1

1.1  數據結構的發展 1

1.2  數據結構的概念 2

1.2.1  數據結構研究的領域 3

1.2.2  數據結構研究的內容 5

1.2.3  數據 5

1.2.4  數據結構 6

1.2.5  數據類型 8

1.3  算法和算法分析 9

1.3.1  算法的概念 10

1.3.2  算法的復雜性分析 10

1.4  習題 13

第2章  線性表 16

2.1  線性表的類型定義 16

2.2  線性表的順序映像 19

2.2.1  線性表的順序存儲結構 20

2.2.2  順序存儲結構的特點 20

2.2.3  典型操作的算法實現 21

2.2.4  主要操作的算法分析 24

2.3  線性表的鏈式映像 25

2.3.1  線性鏈表的定義 25

2.3.2  線性鏈表的類型定義及典型操作 26

2.3.3  其他形式的鏈表 30

2.4  線性表實現方法的比較 37

2.4.1  順序表和鏈表的比較 37

2.4.2  線性鏈表定義的改進 38

2.5  一元多項式的表示及相加 40

2.6  習題 44

第3章  棧 49

3.1  棧的定義 49

3.1.1  棧的特點及定義 49

3.1.2  棧的抽象數據類型定義 50

3.2  棧的存儲表示及實現 51

3.2.1  棧的順序存儲表示 51

3.2.2  棧的鏈式存儲表示 52

3.3  棧的應用 53

3.3.1  數制轉換 53

3.3.2  括號匹配的檢驗 54

3.3.3  行編輯程序問題 55

3.3.4  迷宮求解問題 56

3.3.5  表達式求值 57

3.3.6  遞歸的實現 60

3.4  習題 63

第4章  隊列 65

4.1  隊列的定義 65

4.2  隊列類型的實現 66

4.2.1  隊列的順序存儲——循環隊列 67

4.2.2  隊列的鏈式存儲——鏈隊列 69

4.3  隊列的應用——離散事件模擬 70

4.4  習題 74

第5章  串 76

5.1  串類型的定義 76

5.1.1  串的基本概念 76

5.1.2  串的抽象數據類型定義 77

5.1.3  串與線性表的區別 79

5.2  串的表示和實現 80

5.2.1  串的定長順序存儲表示 80

5.2.2  串的堆分配存儲表示 81

5.2.3  串的塊鏈存儲表示 82

5.3  串的模式匹配算法 83

5.3.1  簡單匹配算法 83

5.3.2  KMP算法 86

5.4  串應用舉例 ——文本編輯 92

5.4.1  文本編輯概述 93

5.4.2  文本編輯程序 94

5.5  習題 94

第6章  數組 95

6.1  數組的基本概念 95

6.2  數組的順序存儲及實現 97

6.2.1  數組的存儲方式 97

6.2.2  數組的順序存儲表示和實現 98

6.3  矩陣的壓縮存儲 100

6.3.1  對稱矩陣的壓縮存儲 100

6.3.2  三角矩陣的壓縮存儲 101

6.3.3  對角矩陣的壓縮存儲 102

6.4  稀疏矩陣 103

6.4.1  稀疏矩陣的定義 103

6.4.2  稀疏矩陣的抽象數據類型定義 103

6.4.3  稀疏矩陣的壓縮存儲 104

6.5  習題 113

第7章  廣義表 115

7.1  廣義表的定義 115

7.2  廣義表的存儲結構 117

7.2.1  廣義表的頭尾鏈表存儲表示 117

7.2.2  廣義表的元素存儲表示 118

7.3  廣義表操作的實現 118

7.3.1  創建廣義表 118

7.3.2  求表的深度 120

7.3.3  廣義表的結點操作 121

7.3.4  刪除廣義表 122

7.3.5  求廣義表的長度 123

7.3.6  廣義表的復制 123

7.4  習題 125

第8章  樹 127

8.1  樹的類型定義和基本術語 127

8.1.1  樹的定義 127

8.1.2  樹的常用術語 130

8.1.3  線性結構與樹形結構的比較 131

8.2  樹和森林的存儲結構 131

8.2.1  樹的存儲結構 131

8.2.2  樹和森林的遍歷 134

8.3  習題 138

第9章  二叉樹 140

9.1  二叉樹的定義和性質 140

9.1.1  二叉樹的定義 140

9.1.2  兩類特殊的二叉樹 143

9.1.3  二叉樹的重要特性 143

9.2  二叉樹的存儲結構 144

9.2.1  二叉樹的順序存儲表示 144

9.2.2  二叉樹的鏈式存儲表示 145

9.3  二叉樹的遍歷與應用 146

9.3.1  二叉樹的三種遍歷算法 147

9.3.2  二叉樹遍歷算法的非遞歸描述 150

9.3.3  二叉樹遍歷算法的應用 153

9.4  線索二叉樹 158

9.4.1  線索二叉樹的定義 158

9.4.2  線索鏈表的遍歷 159

9.4.3  線索鏈表的建立 161

9.4.4  中序線索二叉樹中插入結點 162

9.4.5  線索二叉樹的優缺點 163

9.5  樹、森林和二叉樹 163

9.5.1  森林與二叉樹之間的轉換 163

9.5.2  森林與二叉樹轉換的操作 164

9.5.3  樹、森林的遍歷和二叉樹遍歷的對應關系 165

9.6  哈夫曼樹及其應用 166

9.6.1  哈夫曼樹 166

9.6.2  哈夫曼編碼 168

9.7  習題 172

第10章  圖 176

10.1  圖的基本概念 176

10.1.1  圖的定義和術語 176

10.1.2  圖的抽象數據類型定義 178

10.2  圖的存儲結構 180

10.2.1  鄰接矩陣(數組)表示法 180

10.2.2  鄰接表表示法 183

10.2.3  十字鏈表表示法 186

10.2.4  鄰接多重表表示法 187

10.3  圖的遍歷 189

10.3.1  深度優先搜索遍歷 189

10.3.2  廣度優先搜索遍歷 190

10.4  圖的連通性問題 192

10.4.1  無向圖的連通分量和生成樹 192

10.4.2  有向圖的強連通分量 194

10.4.3  最小生成樹 195

10.5  有向無環圖及其應用 200

10.5.1  拓撲排序 200

10.5.2  關鍵路徑 203

10.6  最短路徑 207

10.6.1  單源最短路徑 208

10.6.2  每一對頂點間的最短路徑 211

10.7  習題 213

第11章  查找 216

11.1  查找表 216

11.2  靜態查找表 218

11.2.1  順序表的查找 218

11.2.2  有序表的查找 220

11.2.3  索引順序表的查找 222

11.3  動態查找表 224

11.3.1  二叉排序樹 224

11.3.2  平衡二叉樹 229

11.3.3  B-樹 235

11.3.4  B+樹 243

11.4  哈希表 244

11.4.1  什麽是哈希表 244

11.4.2  哈希函數的構造方法 246

11.4.3  哈希表處理沖突的方法 248

11.4.4  哈希表的查找及分析 251

11.5  習題 255

第12章  內部排序 258

12.1  排序概述 258

12.1.1  排序的概念 258

12.1.2  排序方法的穩定性 259

12.1.3  內部排序和外部排序 259

12.1.4  內部排序的分類 259

12.2  插入排序 260

12.2.1  直接插入排序 260

12.2.2  折半插入排序 262

12.2.3  2-路插入排序 263

12.2.4  表插入排序 265

12.2.5  希爾排序 268

12.3  交換排序 269

12.3.1  起泡排序 270

12.3.2  快速排序 271

12.4  選擇排序 273

12.4.1  簡單選擇排序 273

12.4.2  堆排序 274

12.5  歸並排序 277

12.6  基數排序 279

12.6.1  多關鍵字排序 279

12.6.2  鏈式基數排序 281

12.7  各種內部排序方法的比較討論 283

12.8  習題 284

第13章  外部排序 286

13.1  外部排序的方法 286

13.2  歸並排序 287

13.2.1  2-路平衡歸並排序 287 

13.2.2  多段2-路歸並排序 288

13.2.3  多路平衡歸並排序 288

13.3  置換選擇排序 290

13.3.1  置換選擇排序的處理過程 291

13.3.2  置換選擇排序算法 291

13.4  習題 294

參考文獻 295