定 價(jià):¥79.00
作 者: | 吳燦銘 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò) |
ISBN: | 9787302495321 | 出版時(shí)間: | 2018-04-01 | 包裝: | 平裝-膠訂 |
開本: | 16開 | 頁(yè)數(shù): | 411 | 字?jǐn)?shù): |
第1章 數(shù)據(jù)結(jié)構(gòu)導(dǎo)論 1
1.1 數(shù)據(jù)結(jié)構(gòu)的定義 2
1.1.1 數(shù)據(jù)與信息 2
1.1.2 數(shù)據(jù)的特性 3
1.1.3 數(shù)據(jù)結(jié)構(gòu)的應(yīng)用 3
1.2 算法 5
1.3 認(rèn)識(shí)程序設(shè)計(jì) 7
1.3.1 程序開發(fā)流程 8
1.3.2 結(jié)構(gòu)化程序設(shè)計(jì) 8
1.3.3 面向?qū)ο蟪绦蛟O(shè)計(jì) 9
1.4 算法性能分析 11
1.4.1 Big-Oh 12
1.4.2 Ω 15
1.4.3 θ 15
【課后習(xí)題】 15
第2章 數(shù)組結(jié)構(gòu) 17
2.1 線性表簡(jiǎn)介 18
2.2 認(rèn)識(shí)數(shù)組 19
2.2.1 二維數(shù)組 21
2.2.2 三維數(shù)組 25
2.2.3 n維數(shù)組 27
2.3 矩陣 28
2.3.1 矩陣相加 28
2.3.2 矩陣相乘 29
2.3.3 轉(zhuǎn)置矩陣 31
2.3.4 稀疏矩陣 32
2.3.5 上三角形矩陣 35
2.3.6 下三角形矩陣 39
2.3.7 帶狀矩陣 43
2.4 數(shù)組與多項(xiàng)式 44
【課后習(xí)題】 46
第3章 鏈表 48
3.1 單向鏈表 49
3.1.1 建立單向鏈表 50
3.1.2 遍歷單向鏈表 51
3.1.3 在單向鏈表中插入新節(jié)點(diǎn) 53
3.1.4 在單向鏈表中刪除節(jié)點(diǎn) 58
3.1.5 單向鏈表的反轉(zhuǎn) 61
3.1.6 單向鏈表的連接功能 64
3.1.7 多項(xiàng)式鏈表表示法 69
3.2 環(huán)形鏈表 71
3.2.1 環(huán)形鏈表的建立與遍歷 72
3.2.2 在環(huán)形鏈表中插入新節(jié)點(diǎn) 74
3.2.3 在環(huán)形鏈表中刪除節(jié)點(diǎn) 78
3.2.4 環(huán)形鏈表的連接功能 82
3.2.5 環(huán)形鏈表與稀疏矩陣表示法 85
3.3 雙向鏈表 86
3.3.1 雙向鏈表的建立與遍歷 87
3.3.2 在雙向鏈表中插入新節(jié)點(diǎn) 91
3.3.3 在雙向鏈表中刪除節(jié)點(diǎn) 95
【課后習(xí)題】 99
第4章 堆棧 101
4.1 堆棧簡(jiǎn)介 102
4.1.1 用列表實(shí)現(xiàn)堆棧 103
4.1.2 用鏈表實(shí)現(xiàn)堆棧 107
4.2 堆棧的應(yīng)用 110
4.2.1 遞歸算法 111
4.2.2 漢諾塔問題 115
4.2.3 老鼠走迷宮 120
4.2.4 八皇后問題 125
4.3 算術(shù)表達(dá)式的表示法 128
4.3.1 中序法轉(zhuǎn)為前序法與后序法 129
4.3.2 前序法與后序法轉(zhuǎn)為中序法 135
4.3.3 中序法表達(dá)式的求值運(yùn)算 137
4.3.4 前序法表達(dá)式的求值運(yùn)算 138
4.3.5 后序法表達(dá)式的求值運(yùn)算 139
【課后習(xí)題】 140
第5章 隊(duì)列 143
5.1 認(rèn)識(shí)隊(duì)列 144
5.1.1 隊(duì)列的基本操作 144
5.1.2 用數(shù)組實(shí)現(xiàn)隊(duì)列 145
5.1.3 用鏈表實(shí)現(xiàn)隊(duì)列 148
5.2 隊(duì)列的應(yīng)用 151
5.2.1 環(huán)形隊(duì)列 151
5.2.2 雙向隊(duì)列 155
5.2.3 優(yōu)先隊(duì)列 159
【課后習(xí)題】 160
第6章 樹形結(jié)構(gòu) 161
6.1 樹的基本概念 162
6.2 二叉樹簡(jiǎn)介 164
6.2.1 二叉樹的定義 165
6.2.2 特殊二叉樹簡(jiǎn)介 166
6.3 二叉樹的存儲(chǔ)方式 167
6.3.1 一維數(shù)組表示法 167
6.3.2 鏈表表示法 170
6.4 二叉樹遍歷 172
6.4.1 中序遍歷 173
6.4.2 后序遍歷 173
6.4.3 前序遍歷 173
6.4.4 二叉樹節(jié)點(diǎn)的插入與刪除 178
6.4.5 二叉運(yùn)算樹 184
6.5 線索二叉樹 189
6.6 樹的二叉樹表示法 195
6.6.1 樹轉(zhuǎn)化為二叉樹 195
6.6.2 二叉樹轉(zhuǎn)換成樹 196
6.6.3 森林轉(zhuǎn)換為二叉樹 197
6.6.4 二叉樹轉(zhuǎn)換成森林 198
6.6.5 樹與森林的遍歷 199
6.6.6 確定唯一二叉樹 201
6.7 優(yōu)化二叉查找樹 202
6.7.1 擴(kuò)充二叉樹 202
6.7.2 霍夫曼樹 204
6.7.3 平衡樹 205
6.8 B樹 210
【課后習(xí)題】 212
第7章 圖形結(jié)構(gòu) 216
7.1 圖形簡(jiǎn)介 217
7.1.1 歐拉環(huán)與歐拉鏈 217
7.1.2 圖形的定義 218
7.1.3 無向圖 218
7.1.4 有向圖 219
7.2 圖的數(shù)據(jù)表示法 220
7.2.1 鄰接矩陣法 220
7.2.2 鄰接表法 224
7.2.3 鄰接復(fù)合鏈表法 226
7.2.4 索引表格法 228
7.3 圖的遍歷 230
7.3.1 深度優(yōu)先遍歷法 230
7.3.2 廣度優(yōu)先遍歷法 233
7.4 生成樹 237
7.4.1 DFS生成樹和BFS生成樹 238
7.4.2 最小生成樹 239
7.4.3 Kruskal算法 239
7.5 圖的最短路徑 244
7.5.1 單點(diǎn)對(duì)全部頂點(diǎn) 244
7.5.2 兩兩頂點(diǎn)間的最短路徑 248
7.6 AOV網(wǎng)絡(luò)與拓?fù)渑判?nbsp; 251
7.7 AOE網(wǎng)絡(luò) 253
【課后習(xí)題】 255
第8章 排序 259
8.1 排序簡(jiǎn)介 260
8.1.1 排序的分類 261
8.1.2 排序算法的分析 261
8.2 內(nèi)部排序法 262
8.2.1 冒泡排序法 262
8.2.2 選擇排序法 266
8.2.3 插入排序法 268
8.2.4 希爾排序法 270
8.2.5 合并排序法 272
8.2.6 快速排序法 275
8.2.7 堆積排序法 278
8.2.8 基數(shù)排序法 283
【課后習(xí)題】 286
第9章 查找 289
9.1 常見的查找方法 290
9.1.1 順序查找法 290
9.1.2 二分查找法 292
9.1.3 插值查找法 294
9.1.4 斐波拉契查找法 296
9.2 哈希查找法 300
9.3 常見的哈希函數(shù) 302
9.3.1 除留余數(shù)法 302
9.3.2 平方取中法 303
9.3.3 折疊法 303
9.3.4 數(shù)字分析法 304
9.4 碰撞與溢出問題的處理 305
9.4.1 線性探測(cè)法 305
9.4.2 平方探測(cè)法 307
9.4.3 再哈希法 307
9.4.4 鏈表法 307
【課后習(xí)題】 313
附錄A Python語(yǔ)言快速入門 315
A.1 輕松學(xué)Python程序 316
A.2 基本數(shù)據(jù)處理 317
A.2.1 數(shù)值數(shù)據(jù)類型 317
A.2.2 布爾數(shù)據(jù)類型 317
A.2.3 字符串?dāng)?shù)據(jù)類型 318
A.3 輸入input和輸出print 318
A.3.1 輸出print 318
A.3.2 輸出轉(zhuǎn)義字符 319
A.3.3 輸入input 319
A.4 運(yùn)算符與表達(dá)式 321
A.4.1 算術(shù)運(yùn)算符 321
A.4.2 復(fù)合賦值運(yùn)算符 321
A.4.3 關(guān)系運(yùn)算符 321
A.4.4 邏輯運(yùn)算符 322
A.4.5 位運(yùn)算符 322
A.5 流程控制 323
A.5.1 if語(yǔ)句 323
A.5.2 for循環(huán) 324
A.5.3 while循環(huán) 325
A.6 其他常用的類型 327
A.6.1 string字符串 327
A.6.2 list列表 329
A.6.3 tuple 元組和dict字典 331
A.7 函數(shù) 332
A.7.1 自定義無參數(shù)函數(shù) 332
A.7.2 有參數(shù)行的函數(shù) 333
A.7.3 函數(shù)返回值 333
A.7.4 參數(shù)傳遞 333
附錄B 數(shù)據(jù)結(jié)構(gòu)使用Python程序調(diào)試實(shí)錄 336
附錄C 課后習(xí)題與答案 352