數(shù)據(jù)結(jié)構(gòu)與算法
定 價:42 元
- 作者:王曙燕 主編
- 出版時間:2013/9/1
- ISBN:9787115324207
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.12
- 頁碼:288
- 紙張:
- 版次:1
- 開本:16開
數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計是高等院校理工科各專業(yè)計算機應(yīng)用能力提高的重要技術(shù)基礎(chǔ)。本書將數(shù)據(jù)結(jié)構(gòu)和算法分析與設(shè)計的基礎(chǔ)知識相結(jié)合,以實際應(yīng)用為驅(qū)動,將數(shù)據(jù)結(jié)構(gòu)的各種知識融入到實際問題的解決中,對相關(guān)算法的核心思想進(jìn)行深入剖析,并總結(jié)比較各類算法的特點和適用范圍,重點培養(yǎng)學(xué)生使用數(shù)據(jù)結(jié)構(gòu)知識分析問題和解決問題的能力,為后繼課程的學(xué)習(xí)以及從事軟件開發(fā)工作打下良好的基礎(chǔ)。 本書系統(tǒng)地講解了數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計的相關(guān)知識,全書共有9章,論述了數(shù)據(jù)結(jié)構(gòu)的基本概念、線性表、棧與隊列、串、數(shù)組和廣義表、樹、圖、查找以及排序等內(nèi)容。為了讓讀者能夠及時地檢查自己的學(xué)習(xí)效果,把握自己的學(xué)習(xí)進(jìn)度,每章后面都附有豐富的習(xí)題。 本書既可以作為高等院校各專業(yè)“數(shù)據(jù)結(jié)構(gòu)”課程的教材,也可供準(zhǔn)備考研的讀者閱讀參考,同時也可作為工程技術(shù)人員和計算機愛好者的參考資料。
1.以解決問題為驅(qū)動。每章由案例作為問題的引入,在最后引入相關(guān)算法分析與設(shè)計的基礎(chǔ)知識。2.側(cè)重于算法核心思想的剖析。對算法的核心思想進(jìn)行剖析,并將各種算法進(jìn)行分類。3.強調(diào)易讀、易學(xué)和易教。全部算法和案例嚴(yán)格使用C語言編寫.4.配有設(shè)計精美、內(nèi)容豐富的電子教案和素材供授課教師使用。
目 錄
第1章 引論 1
1.1 數(shù)據(jù)結(jié)構(gòu)的概念 1
1.2 數(shù)據(jù)結(jié)構(gòu)的內(nèi)容 5
1.2.1 數(shù)據(jù)的邏輯結(jié)構(gòu) 5
1.2.2 數(shù)據(jù)的存儲結(jié)構(gòu) 6
1.3 算法 6
1.3.1 算法的概念 7
1.3.2 算法的評價標(biāo)準(zhǔn) 7
1.3.3 算法的描述 8
1.3.4 算法性能分析 10
習(xí)題 14
第2章 線性表 16 目 錄
第1章 引論 1
1.1 數(shù)據(jù)結(jié)構(gòu)的概念 1
1.2 數(shù)據(jù)結(jié)構(gòu)的內(nèi)容 5
1.2.1 數(shù)據(jù)的邏輯結(jié)構(gòu) 5
1.2.2 數(shù)據(jù)的存儲結(jié)構(gòu) 6
1.3 算法 6
1.3.1 算法的概念 7
1.3.2 算法的評價標(biāo)準(zhǔn) 7
1.3.3 算法的描述 8
1.3.4 算法性能分析 10
習(xí)題 14
第2章 線性表 16
2.1 應(yīng)用實例 16
2.2 線性表的概念及運算 17
2.2.1 線性表的邏輯結(jié)構(gòu) 17
2.2.2 線性表的運算 17
2.3 線性表的順序存儲 18
2.3.1 順序表 18
2.3.2 順序表的基本運算 19
2.4 線性表的鏈?zhǔn)酱鎯Α?3
2.4.1 單鏈表 23
2.4.2 單鏈表基本運算 24
2.4.3 循環(huán)鏈表 31
2.4.4 雙向鏈表 32
2.4.5 靜態(tài)鏈表 33
2.5 順序表和鏈表的比較 33
2.6 實例分析與實現(xiàn) 34
習(xí)題 42
第3章 棧和隊列 45
3.1 應(yīng)用實例 45
3.2 !46
3.2.1 棧的概念及運算 46
3.2.2 棧的順序存儲結(jié)構(gòu) 47
3.2.3 棧的鏈?zhǔn)酱鎯Y(jié)構(gòu) 50
3.2.4 棧的應(yīng)用 52
3.3 隊列 57
3.3.1 隊列的概念及其運算 57
3.3.2 循環(huán)隊列 59
3.3.3 鏈隊列 61
3.4 實例分析與實現(xiàn) 63
3.5 算法總結(jié)——遞歸與分治算法 69
習(xí)題 71
第4章 串 73
4.1 應(yīng)用實例 73
4.2 串及其運算 74
4.2.1 串的基本概念 74
4.2.2 串的基本運算 75
4.2.3 串的基本運算示例 77
4.3 串的存儲結(jié)構(gòu)及實現(xiàn) 77
4.3.1 定長順序串 77
4.3.2 堆串 80
4.3.3 塊鏈串 82
4.4 串的模式匹配 83
4.4.1 BF模式匹配算法 84
4.4.2 KMP模式匹配算法 85
4.5 實例分析與實現(xiàn) 91
4.5.1 串的實例分析 91
4.5.2 簡單文本編輯軟件的實現(xiàn) 92
4.6 算法總結(jié) 94
習(xí)題 95
第5章 多維數(shù)組和廣義表 97
5.1 應(yīng)用實例 97
5.2 多維數(shù)組 97
5.3 矩陣的壓縮存儲 99
5.3.1 特殊矩陣 99
5.3.2 稀疏矩陣 100
5.4 廣義表 107
5.4.1 廣義表的概念 107
5.4.2 廣義表的存儲 108
5.4.3 廣義表的操作 109
5.5 實例分析與實現(xiàn) 111
習(xí)題 113
第6章 樹 115
6.1 應(yīng)用實例 115
6.2 樹的概念 117
6.2.1 樹的定義與表示 117
6.2.2 樹的基本術(shù)語 118
6.2.3 樹的抽象數(shù)據(jù)類型定義 119
6.3 二叉樹 120
6.3.1 二叉樹的定義 120
6.3.2 二叉樹的性質(zhì) 122
6.3.3 二叉樹的存儲 124
6.4 二叉樹的遍歷 126
6.4.1 二叉樹的遍歷及遞歸實現(xiàn) 126
6.4.2 二叉樹遍歷的非遞歸實現(xiàn) 128
6.4.3 遍歷算法的應(yīng)用 132
6.4.4 由遍歷序列確定二叉樹 136
6.5 線索二叉樹 137
6.5.1 線索二叉樹的基本概念 137
6.5.2 線索二叉樹的基本操作 138
6.6 樹和森林 140
6.6.1 樹的存儲 140
6.6.2 樹、森林與二叉樹的轉(zhuǎn)換 143
6.6.3 樹和森林的遍歷 146
6.7 哈夫曼樹及其應(yīng)用 148
6.7.1 哈夫曼樹 148
6.7.2 哈夫曼編譯碼 151
6.8 實例分析與實現(xiàn) 153
6.8.1 表達(dá)式樹 153
6.8.2 樹與等價類的劃分 155
6.8.3 回溯法與N皇后問題 158
6.9 算法總結(jié) 160
習(xí)題 161
第7章 圖 164
7.1 應(yīng)用實例 164
7.2 圖的基本概念 165
7.3 圖的存儲結(jié)構(gòu) 167
7.3.1 鄰接矩陣 167
7.3.2 鄰接表 169
7.3.3 十字鏈表 171
7.3.4 多重鏈表 172
7.4 圖的遍歷 173
7.4.1 深度優(yōu)先搜索遍歷 173
7.4.2 廣度優(yōu)先搜索遍歷 175
7.5 圖的應(yīng)用 176
7.5.1 最小生成樹 176
7.5.2 拓?fù)渑判颉?81
7.5.3 關(guān)鍵路徑 184
7.5.4 最短路徑 188
7.6 實例分析與實現(xiàn) 192
7.7 算法總結(jié)——貪心算法 199
習(xí)題 203
第8章 查找 207
8.1 概述 207
8.2 基于線性表的查找 208
8.2.1 順序查找 208
8.2.2 折半查找 210
8.2.3 索引查找 213
8.3 基于樹的查找 214
8.3.1 二叉排序樹 214
8.3.2 平衡二叉樹 220
8.3.3 B樹和B+樹 228
8.3.4 伸展樹 234
8.3.5 紅黑樹 236
8.4 散列 241
8.4.1 Hash函數(shù)的構(gòu)造方法 241
8.4.2 處理沖突的方法 243
8.4.3 Hash表查找 245
8.5 算法總結(jié) 248
習(xí)題 249
第9章 排序 252
9.1 概述 252
9.2 插入類排序 254
9.2.1 直接插入排序 255
9.2.2 折半插入排序 257
9.2.3 希爾排序 258
9.3 交換類排序 259
9.3.1 冒泡排序 259
9.3.2 快速排序 262
9.4 選擇類排序 264
9.4.1 簡單選擇排序 264
9.4.2 樹形選擇排序 265
9.4.3 堆排序 267
9.5 歸并類排序 272
9.5.1 二路歸并排序 272
9.5.2 自然歸并排序 274
9.6 分配類排序 275
9.6.1 多關(guān)鍵字排序 275
9.6.2 鏈?zhǔn)交鶖?shù)排序 276
9.7 外部排序 278
9.7.1 置換選擇排序 279
9.7.2 多路歸并外排序 281
9.8 算法總結(jié) 285
習(xí)題 286
參考文獻(xiàn) 288