定 價(jià):39.8 元
叢書名:21世紀(jì)高等教育計(jì)算機(jī)規(guī)劃教材
- 作者:周顏軍 王玉茹 關(guān)偉洲 編著
- 出版時(shí)間:2013/9/1
- ISBN:9787115327642
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.12
- 頁(yè)碼:291
- 紙張:
- 版次:1
- 開本:16開
本書系統(tǒng)地介紹了各種常用的數(shù)據(jù)結(jié)構(gòu)的邏輯特征、存儲(chǔ)方式和基本運(yùn)算。主要內(nèi)容包括:順序表、棧、隊(duì)列、鏈表、串、樹形結(jié)構(gòu)、圖、多維數(shù)組、廣義表、排序、查找和文件等。本書結(jié)構(gòu)清晰,內(nèi)容充實(shí),實(shí)例豐富,符號(hào)、圖表規(guī)范。既適合于教師課堂講授,也便于自學(xué)者學(xué)習(xí)參考! ”緯勺鳛楦叩仍盒S(jì)算機(jī)專業(yè)或信息技術(shù)等相關(guān)專業(yè)的本科教材,也可作為參加研究生入學(xué)考試、自學(xué)考試的考生以及從事計(jì)算機(jī)工程和應(yīng)用的科技人員的參考用書。
1.本書主編 周顏軍 從東北師范大學(xué)計(jì)算機(jī)系86級(jí)本科(1987年)開始,一直講授 “數(shù)據(jù)結(jié)構(gòu)”課程,并講授研究生課程“數(shù)據(jù)挖掘”,F(xiàn)任吉林省計(jì)算機(jī)學(xué)會(huì)常務(wù)理事、副秘書長(zhǎng),被吉林省汽車電子協(xié)會(huì)聘為學(xué)術(shù)專家。在吉林省內(nèi)頗有人脈及影響力。2.數(shù)據(jù)結(jié)構(gòu)網(wǎng)絡(luò)課件獲高等學(xué)校教育技術(shù)成果(網(wǎng)絡(luò)教學(xué)資源類)三等獎(jiǎng) 吉林省教育廳2010年11月3.數(shù)據(jù)結(jié)構(gòu)教材獲吉林省普通高等學(xué)校優(yōu)秀教材獎(jiǎng) 吉林省教育廳2011年9月4.數(shù)據(jù)結(jié)構(gòu)課程連續(xù)兩年獲東北師范大學(xué)煒然獎(jiǎng)教金 2011年9月、2012年9月
目 錄
第1章 概論 1
1.1 數(shù)據(jù)結(jié)構(gòu)的概念 1
1.2 數(shù)據(jù)結(jié)構(gòu)的組成與分類 2
1.2.1 數(shù)據(jù)的邏輯結(jié)構(gòu) 2
1.2.2 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) 3
1.2.3 數(shù)據(jù)的運(yùn)算(集合) 5
1.3 數(shù)據(jù)類型與抽象數(shù)據(jù)類型 5
1.3.1 數(shù)據(jù)類型 5
1.3.2 抽象數(shù)據(jù)類型 6
1.4 算法的概念與描述 7
1.4.1 算法的概念 7
1.4.2 算法的描述 8
1.5 算法分析 14 目 錄
第1章 概論 1
1.1 數(shù)據(jù)結(jié)構(gòu)的概念 1
1.2 數(shù)據(jù)結(jié)構(gòu)的組成與分類 2
1.2.1 數(shù)據(jù)的邏輯結(jié)構(gòu) 2
1.2.2 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) 3
1.2.3 數(shù)據(jù)的運(yùn)算(集合) 5
1.3 數(shù)據(jù)類型與抽象數(shù)據(jù)類型 5
1.3.1 數(shù)據(jù)類型 5
1.3.2 抽象數(shù)據(jù)類型 6
1.4 算法的概念與描述 7
1.4.1 算法的概念 7
1.4.2 算法的描述 8
1.5 算法分析 14
1.5.1 算法性能的評(píng)價(jià)標(biāo)準(zhǔn) 14
1.5.2 算法的復(fù)雜度 15
1.6 本章小結(jié) 18
習(xí)題 19
第2章 順序表 20
2.1 向量 21
2.1.1 向量的存儲(chǔ)與運(yùn)算 21
2.1.2 目錄表 24
2.2 !25
2.2.1 棧的定義與基本操作 25
2.2.2 順序!27
2.3 棧與遞歸 30
2.3.1 遞歸的概念 30
2.3.2 遞歸過(guò)程的實(shí)現(xiàn) 32
*2.3.3 遞歸過(guò)程到非遞歸過(guò)程的轉(zhuǎn)換 33
2.4 隊(duì)列 38
2.4.1 隊(duì)列的定義與基本操作 38
2.4.2 順序隊(duì)列 40
2.5 應(yīng)用舉例 43
2.5.1 向量應(yīng)用——約瑟夫斯問(wèn)題 43
2.5.2 棧的應(yīng)用—— 括號(hào)匹配的檢驗(yàn)與數(shù)制轉(zhuǎn)換 46
2.5.3 隊(duì)列應(yīng)用—— 輸出楊輝三角形 52
2.6 本章小結(jié) 55
習(xí)題 56
第3章 鏈表 57
3.1 單鏈表 57
3.1.1 單鏈表的概念 57
3.1.2 單鏈表的存儲(chǔ)描述 58
3.1.3 在單鏈表上實(shí)現(xiàn)的基本運(yùn)算 59
3.1.4 帶表頭結(jié)點(diǎn)的單鏈表 62
3.2 棧和隊(duì)列的鏈接存儲(chǔ)表示 63
3.2.1 鏈棧 63
3.2.2 鏈隊(duì)列 64
3.3 循環(huán)鏈表 66
3.4 雙鏈表 67
3.4.1 雙鏈表的概念 67
3.4.2 帶表頭結(jié)點(diǎn)的雙循環(huán)鏈表 68
3.4.3 雙循環(huán)鏈表的基本操作 68
3.5 應(yīng)用舉例 70
3.5.1 消除鏈表中的重復(fù)數(shù)據(jù) 70
3.5.2 用循環(huán)鏈表求解約瑟夫斯問(wèn)題 73
3.6 本章小結(jié) 75
習(xí)題 76
第4章 串 77
4.1 串的基本概念 77
4.2 串的存儲(chǔ)結(jié)構(gòu) 78
4.2.1 順序存儲(chǔ) 78
4.2.2 鏈接存儲(chǔ) 79
4.3 串的操作 80
4.4 模式匹配 82
4.4.1 Brute-Force算法 82
4.4.2 KMP算法 84
4.5 應(yīng)用舉例 88
4.6 本章小結(jié) 89
習(xí)題 90
第5章 樹形結(jié)構(gòu) 91
5.1 樹形結(jié)構(gòu)的概念 91
5.1.1 樹的概念 91
5.1.2 二叉樹的概念 93
5.1.3 樹、森林與二叉樹之間的相互轉(zhuǎn)換 95
5.1.4 樹形結(jié)構(gòu)的遍歷 97
5.2 樹形結(jié)構(gòu)的存儲(chǔ)方式 99
5.2.1 鏈?zhǔn)酱鎯?chǔ) 100
5.2.2 順序存儲(chǔ) 101
5.3 二叉樹的遍歷算法 106
5.3.1 遍歷二叉樹的非遞歸算法 106
5.3.2 遍歷二叉樹的遞歸算法 110
5.3.3 二叉樹遍歷的應(yīng)用舉例 111
5.4 線索二叉樹 111
5.4.1 線索二叉樹的概念 111
5.4.2 二叉樹的線索化 112
5.4.3 線索二叉樹的遍歷 114
5.4.4 線索二叉樹的插入 117
5.5 堆 118
5.5.1 堆的定義 118
5.5.2 堆的構(gòu)造 119
5.5.3 堆的插入與刪除 121
5.6 哈夫曼樹 123
5.6.1 擴(kuò)充的二叉樹 123
5.6.2 哈夫曼樹 124
5.6.3 哈夫曼樹的應(yīng)用舉例 128
5.7 應(yīng)用舉例 130
5.7.1 判定樹的應(yīng)用——偽幣鑒別問(wèn)題 130
5.7.2 集合的表示與并查集 131
5.7.3 建立二叉樹及遍歷 133
5.8 本章小結(jié) 135
習(xí)題 136
第6章 圖 139
6.1 圖的概念 139
6.2 圖的存儲(chǔ)表示 141
6.2.1 鄰接矩陣表示法 141
6.2.2 鄰接表表示法 143
6.2.3 鄰接多重表表示法 145
6.3 圖的遍歷 146
6.3.1 深度優(yōu)先遍歷 147
6.3.2 廣度優(yōu)先遍歷 149
6.4 最小(代價(jià))生成樹 151
6.4.1 普里姆算法 152
6.4.2 克魯斯卡爾算法 154
6.5 最短路徑問(wèn)題 157
6.5.1 單源最短路徑 157
6.5.2 每對(duì)頂點(diǎn)間的最短路徑 160
6.6 拓?fù)渑判颉?63
6.7 關(guān)鍵路徑 169
6.8 本章小結(jié) 173
習(xí)題 174
第7章 多維數(shù)組和廣義表 177
7.1 多維數(shù)組 177
7.2 矩陣的壓縮存儲(chǔ) 179
7.2.1 特殊矩陣 179
7.2.2 稀疏矩陣 181
7.3 廣義表 186
7.3.1 廣義表的概念 186
7.3.2 廣義表的存儲(chǔ)結(jié)構(gòu) 188
7.3.3 廣義表的運(yùn)算 191
7.4 本章小結(jié) 193
習(xí)題 193
第8章 排序 195
8.1 基本概念 195
8.2 插入排序 196
8.2.1 直接插入排序 197
8.2.2 希爾排序 198
*8.2.3 其他插入排序 200
8.3 交換排序 204
8.3.1 冒泡排序 205
8.3.2 快速排序 206
8.4 選擇排序 209
8.4.1 直接選擇排序 209
8.4.2 樹形選擇排序 211
8.4.3 堆排序 213
8.5 歸并排序 215
8.6 基數(shù)排序 218
8.6.1 多排序碼排序 218
8.6.2 基數(shù)排序 219
*8.7 外排序 223
8.7.1 2路平衡歸并 223
8.7.2 k路平衡歸并與敗者樹 224
8.7.3 最佳歸并樹 226
8.8 本章小結(jié) 228
習(xí)題 229
第9章 查找 230
9.1 基本概念 230
9.2 線性表的查找 231
9.2.1 順序查找 231
9.2.2 折半查找 232
9.2.3 分塊查找 235
9.3 樹形表的查找 237
9.3.1 二叉排序樹 237
9.3.2 最佳二叉排序樹 242
9.3.3 AVL樹 245
9.3.4 B-樹與B+樹 252
9.4 散列表的查找 261
9.4.1 基本概念 261
9.4.2 散列函數(shù) 264
9.4.3 沖突的解決 266
9.4.4 散列查找的性能 271
9.5 本章小結(jié) 272
習(xí)題 273
第10章 文件 275
10.1 文件的基本概念 275
10.2 順序文件 277
10.3 索引文件 277
10.4 索引順序文件 279
10.4.1 ISAM文件 279
10.4.2 VSAM文件 281
10.5 散列文件 282
10.6 多關(guān)鍵字文件 283
10.6.1 多重表文件 283
10.6.2 倒排文件 284
10.7 本章小結(jié) 285
習(xí)題 286
附錄A Visual C++ 6.0集成開發(fā)環(huán)境介紹 287
附錄B 常用字符與ASCII碼對(duì)照表 290
參考文獻(xiàn) 291