圖解數據結構 (第二版)

《圖解數據結構 (第二版)》是2016年清華大學出版社出版的圖書,作者是胡昭民。

基本介紹

  • 書名:圖解數據結構 (第二版)
  • 作者:胡昭民
  • ISBN:9787302439356
  • 出版時間:2016.08.01
出版信息,內容簡介,作者簡介,目 錄,

出版信息

圖解數據結構 (第二版)
作者:胡昭民
定價:49元
印次:2-1
ISBN:9787302439356
出版日期:2016.08.01
印刷日期:2016.06.23

內容簡介

本書用最輕鬆的圖解方式來講解數據結構,全書採用豐富的圖例闡述數據結構的基本概念及套用,並將重要理論、演算方法做最詳細的詮釋與舉例,是一本兼具內容及專業的數據結構的教學用書。由於作者長期從事信息教育及寫作,在文字的表達上簡潔明了、邏輯清晰,並安排了大量的習題,供讀者檢驗學習成果。

作者簡介

胡昭民
現任榮欽科技股份有限公司董事長,美國Rochester Institute of Technology計算機科學研究所畢業,長期從事信息教育及計算機圖書寫作的工作,並監製過多套遊戲及教學軟體的研發。

目 錄

第1章 數據結構導論 1
1-1 數據結構簡介 2
1-1-1 數據與信息 2
1-1-2 算法 3
1-1-3 算法的條件 3
1-1-4 數據結構的套用 6
1-2 數據抽象化 7
1-2-1 基本數據類型 7
1-2-2 抽象數據類型 7
1-3 算法與程式設計 8
1-3-1 認識程式設計 8
1-3-2 程式開發流程 9
1-3-3 程式設計的風格 9
1-4 面向對象程式設計 11
1-4-1 封裝(Encapsulation) 12
1-4-2 繼承(Inheritance) 13
1-4-3 多態(Polymorphism) 13
1-5 模組化設計與C語言 13
1-5-1 函式的基本概念 13
1-5-2 參數類型的介紹 14
1-5-3 參數的傳遞方式 15
1-6 遞歸算法 15
1-6-1 遞歸的定義 15
1-6-2 斐波拉契數列 17
1-6-3 漢諾塔問題 18
1-7 程式效率的分析 23
1-7-1 Big-oh 25
1-7-2 Ω(omega) 26
1-7-3 θ(theta) 27
本章習題 27
第2章 線性表 32
2-1 線性表的定義 33
2-1-1 線性表的用途 33
2-2 數組 34
2-2-1 一維數組 34
2-2-2 二維數組 36
2-2-3 多維數組 40
2-2-4 結構數組 44
2-2-5 字元數組 46
2-2-6 字元串數組 48
2-2-7 指針數組 49
2-3 矩陣 50
2-3-1 矩陣的運算 51
2-3-2 稀疏矩陣 53
2-3-3 上三角形矩陣 55
2-3-4 下三角形矩陣 59
2-3-5 帶狀矩陣 64
本章習題 65
第3章 鍊表 69
3-1 動態分配記憶體 70
3-1-1 C的動態分配變數 70
3-1-2 C++的動態分配變數 72
3-2 單向鍊表 73
3-2-1 建立單向鍊表 74
3-2-2 遍歷單向鍊表 75
3-2-3 釋放單向鍊表節點的空間 76
3-2-4 單向鍊表插入新節點 77
3-2-5 單向鍊表刪除節點 79
3-2-6 單向鍊表的反轉 81
3-3 環形鍊表 83
3-3-1 環形鍊表的建立與遍歷 83
3-3-2 環形鍊表中插入新節點 85
3-3-3 環形鍊表節點的刪除 86
3-3-4 環形鍊表的連線功能 88
3-4 雙向鍊表 89
3-4-1 雙向鍊表的建立與遍歷 90
3-4-2 雙向鍊表中加入新節點 92
3-4-3 雙向鍊表節點的刪除 94
3-5 鍊表相關套用簡介 96
3-5-1 多項式表式法 96
3-5-2 稀疏矩陣表示法 100
本章習題 102
第4章 堆疊與佇列 109
4-1 堆疊簡介 110
4-1-1 堆疊的基本操作 111
4-1-2 用數組實現堆疊 111
4-1-3 用鍊表實現堆疊 112
4-1-4 堆疊類樣板的實現 114
4-1-5 老鼠走迷宮 116
4-1-6 八皇后問題 119
4-2 算術表達式的表示法 120
4-2-1 中序轉為前序與後序 121
4-2-2 前序與後序轉為中序 126
4-2-3 中序表示法求值 129
4-2-4 前序法的求值運算 130
4-2-5 後序法的求值運算 131
4-3 佇列 132
4-3-1 佇列的基本操作 133
4-3-2 用數組實現佇列 133
4-3-3 環形佇列 135
4-3-4 雙向佇列 139
4-3-5 雙向佇列 141
4-3-6 優先佇列 143
本章習題 144
第5章 樹狀結構 156
5-1 樹的基本概念 157
5-1-1 專有名詞介紹 158
5-2 二叉樹 159
5-2-1 二叉樹的特性 159
5-2-2 特殊二叉樹簡介 160
5-3 二叉樹的存儲方式 161
5-3-1 一維數組表示法 161
5-3-2 鍊表表示法 164
5-4 二叉樹的遍歷 166
5-4-1 中序遍歷 166
5-4-2 後序遍歷 167
5-4-3 前序遍歷 167
5-4-4 二叉樹節點的插入與刪除 170
5-4-5 二叉運算樹 174
5-5 線索二叉樹 176
5-5-1 二叉樹轉為線索二叉樹 176
5-6 樹的二叉樹表示法 180
5-6-1 樹轉化為二叉樹 180
5-6-2 二叉樹轉換成樹 182
5-6-3 森林化為二叉樹 183
5-6-4 二叉樹轉換成森林 184
5-6-5 樹與森林的遍歷 185
5-6-6 確定唯一二叉樹 189
5-7 最佳化二叉查找樹 191
5-7-1 擴充二叉樹 191
5-7-2 霍夫曼樹 192
5-8 平衡樹 194
5-8-1 平衡樹的定義 194
5-9 高級樹狀結構的研究 196
5-9-1 決策樹 196
5-9-2 B樹 198
5-9-3 二叉空間分割樹 198
5-9-4 四叉樹與八叉樹 199
本章習題 200
第6章 圖形結構 210
6-1 圖形簡介 211
6-1-1 圖的定義 212
6-1-2 無向圖 212
6-1-3 有向圖 214
6-2 圖的數據表示法 215
6-2-1 鄰接矩陣法 215
6-2-2 鄰接表法 218
6-2-3 鄰接複合鍊表法 220
6-2-4 索引表格法 222
6-3圖的遍歷225
6-3-1深度優先遍曆法225
6-3-2廣度優先遍曆法227
6-4生成樹229
6-4-1DFS生成樹和BFS生成樹229
6-4-2最小生成樹231
6-4-3Kruskal算法231
6-4-4Prim算法235
6-5圖的最短路徑236
6-5-1單點對全部頂點237
6-5-2兩兩頂點間的最短路徑240
6-6AOV網路與拓撲排序244
6-6-1拓撲排列簡介244
6-7AOE網路246
6-7-1關鍵路徑246
本章習題248
第7章排序257
7-1排序簡介258
7-1-1排序的分類259
7-2內部排序法260
7-2-1冒泡排序法260
7-2-2選擇排序法262
7-2-3插入排序法264
7-2-4希爾排序法266
7-2-5合併排序法268
7-2-6快速排序法269
7-2-7堆積排序法271
7-2-8基數排序法278
7-3外部排序法280
7-3-1直接合併排序法280
7-3-2k路合併法284
7-3-3多相合併法284
本章習題285
第8章查找295
8-1常見的查找方法296
8-1-1順序查找法296
8-1-2二分查找法297
8-1-3插值查找法299
8-1-4斐波那契查找法301
8-2哈希查找法305
8-2-1哈希法簡介305
8-3常見的哈希函式306
8-3-1除留餘數法306
8-3-2平方取中法307
8-3-3摺疊法308
8-3-4數字分析法308
8-4碰撞與溢出問題的處理309
8-4-1線性探測法309
8-4-2平方探測310
8-4-3再哈希310
8-4-4鍊表311
本章習題312
附錄AC/C++編譯程式的介紹與安裝318
A-1C/C++編譯程式簡介319
A-1-1VisualC++2010Express319
A-1-2C++Builder320
A-1-3VisualC++320
A-1-4DevC++321
A-1-5GCC322
A-2DevC++的安裝與介紹322
A-2-1下載Dev-C++323
A-2-2安裝DevC++323
附錄BC語言快速入門介紹與安裝329
B-1輕鬆學C程式330
B-1-1編譯與執行331
B-1-2編譯程式332
B-1-3開始執行程式333
B-2C的基本數據處理333
B-2-1變數333
B-2-2常數334
B-2-3數據類型簡介334
B-3C語言的輸出與輸入335
B-3-1printf()函式336
B-3-2scanf()函式337
B-4流程控制338
B-4-1順序結構338
B-4-2選擇結構339
B-4-3重複結構343
B-5數組簡介346
B-5-1字元串簡介347
B-5-2字元串數組347
B-6函式介紹349
B-6-1傳遞參數的方式350
B-6-2標準函式館352

熱門詞條

聯絡我們