數(shù)據(jù)結(jié)構(gòu)與實(shí)訓(xùn)(第4版)(微課版)
定 價(jià):49.8 元
- 作者:張新顏
- 出版時(shí)間:2021/11/1
- ISBN:9787121422690
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.12
- 頁(yè)碼:272
- 紙張:
- 版次:01
- 開本:16開
全書共8章及1個(gè)附錄:第1章介紹了數(shù)據(jù)結(jié)構(gòu)和算法的基本概念;第2~4章介紹了線性表、堆棧、隊(duì)列、串、數(shù)組;第5、6章介紹了非線性結(jié)構(gòu),即樹形結(jié)構(gòu)和圖狀結(jié)構(gòu),第7、8章介紹了兩個(gè)基本技術(shù),即查找和排序;附錄A介紹了實(shí)訓(xùn)的相關(guān)知識(shí),包括實(shí)訓(xùn)的步驟、實(shí)訓(xùn)報(bào)告規(guī)范和實(shí)訓(xùn)的上機(jī)環(huán)境等內(nèi)容。本書詳細(xì)闡述了數(shù)據(jù)結(jié)構(gòu)的基本概念、各種不同的存儲(chǔ)結(jié)構(gòu),以及在不同存儲(chǔ)結(jié)構(gòu)上的主要算法的實(shí)現(xiàn),并給出了豐富的典型例題,以幫助讀者有效理解。本書可作為高等院校、高等職業(yè)院校計(jì)算機(jī)及相關(guān)專業(yè)數(shù)據(jù)結(jié)構(gòu)課程的教材。
張新顏 ,女,畢業(yè)于華中科技大學(xué),碩士學(xué)位。從事計(jì)算機(jī)軟件教學(xué)工作二十多年,主講過(guò)C、VB等多種程序設(shè)計(jì)語(yǔ)言課程以及數(shù)據(jù)結(jié)構(gòu)、微機(jī)原理、軟件測(cè)試等課程,多次獲得學(xué)院教學(xué)質(zhì)量一、二等獎(jiǎng),“數(shù)據(jù)結(jié)構(gòu)”課程2008年被評(píng)為學(xué)院精品課程。參加多項(xiàng)教學(xué)研究項(xiàng)目,參與多項(xiàng)省級(jí)科研項(xiàng)目的開發(fā)工作,所有項(xiàng)目均通過(guò)省級(jí)鑒定。曾多次被評(píng)為學(xué)院優(yōu)秀教師,畢業(yè)設(shè)計(jì)優(yōu)秀指導(dǎo)教師。
目錄
第1 章 概論 ................................................ 1
1.1 引言........................................................ 2
1.1.1 什么是數(shù)據(jù)結(jié)構(gòu) ....................... 2
1.1.2 數(shù)據(jù)結(jié)構(gòu)研究什么 ................... 2
1.2 數(shù)據(jù)結(jié)構(gòu)的基本概念 ............................ 4
1.3 算法和算法的分析 ................................ 4
1.3.1 算法及算法的描述 ................... 4
1.3.2 算法設(shè)計(jì)的要求 ....................... 5
1.3.3 算法的分析 ............................... 6
1.4 算法知識(shí)準(zhǔn)備 ........................................ 8
1.4.1 算法描述規(guī)范 ........................... 8
1.4.2 C 語(yǔ)言核心知識(shí) ........................ 9
1.5 總結(jié)與提高 .......................................... 11
習(xí)題 .............................................................. 11
第2 章 線性表 .......................................... 14
2.1 線性表的定義及基本運(yùn)算 .................. 15
2.1.1 線性表的定義 ......................... 15
2.1.2 線性表的基本運(yùn)算 ................. 15
2.2 線性表的順序存儲(chǔ)結(jié)構(gòu) ...................... 16
2.2.1 順序表 ..................................... 16
2.2.2 順序表上基本運(yùn)算的實(shí)現(xiàn) ..... 16
2.3 線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) ...................... 20
2.3.1 單鏈表及其基本運(yùn)算 ............. 20
2.3.2 循環(huán)鏈表 ................................. 24
2.4 順序表與鏈表的比較 .......................... 25
2.5 典型例題 .............................................. 26
2.6 實(shí)訓(xùn)例題 .............................................. 28
2.6.1 實(shí)訓(xùn)例題1:有序順序表的建立及查找 ............................. 28
2.6.2 實(shí)訓(xùn)例題2:多項(xiàng)式的表示和相加 ......................................... 31
2.7 總結(jié)與提高 ......................................... 35
2.7.1 主要知識(shí)點(diǎn) ............................. 35
2.7.2 提高例題 ................................. 36
習(xí)題 .............................................................. 37
實(shí)訓(xùn)習(xí)題 ...................................................... 39
第3 章 堆棧和隊(duì)列 .................................. 41
3.1 堆棧 ..................................................... 42
3.1.1 堆棧的定義及基本運(yùn)算 ......... 42
3.1.2 堆棧的順序存儲(chǔ)結(jié)構(gòu) ............. 42
3.1.3 堆棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) ............. 45
3.2 堆棧典型例題 ..................................... 48
3.3 隊(duì)列 ..................................................... 49
3.3.1 隊(duì)列的定義及運(yùn)算 ................. 49
3.3.2 隊(duì)列的順序存儲(chǔ)結(jié)構(gòu) ............. 50
3.3.3 隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) ............. 52
3.4 隊(duì)列典型例題 ..................................... 54
3.5 實(shí)訓(xùn)例題 ............................................. 56
3.5.1 實(shí)訓(xùn)例題1:循環(huán)隊(duì)列的操作 ......................................... 56
3.5.2 實(shí)訓(xùn)例題2:括號(hào)配對(duì) .......... 58
3.6 總結(jié)與提高 ......................................... 62
3.6.1 主要知識(shí)點(diǎn) ............................. 62
3.6.2 提高例題 ................................. 62
習(xí)題 .............................................................. 64
實(shí)訓(xùn)習(xí)題 ...................................................... 67
第4 章 串與數(shù)組 ...................................... 68
4.1 串及其基本運(yùn)算 .................................. 69
4.1.1 串的基本概念 ......................... 69
4.1.2 串的基本運(yùn)算 ......................... 69
4.2 串的存儲(chǔ)結(jié)構(gòu) ...................................... 70
4.2.1 串的順序存儲(chǔ)結(jié)構(gòu) ................. 71
4.2.2 串的堆式存儲(chǔ)結(jié)構(gòu) ................. 73
4.2.3 串的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) ................. 74
4.3 數(shù)組...................................................... 75
4.3.1 數(shù)組的定義 ............................. 75
4.3.2 一維數(shù)組、二維數(shù)組和多維數(shù)組 ......................................... 75
4.4 典型例題 .............................................. 77
4.5 實(shí)訓(xùn)例題 .............................................. 78
4.5.1 實(shí)訓(xùn)例題1:字符串操作 ...... 78
4.5.2 實(shí)訓(xùn)例題2:二維數(shù)組 .......... 81
4.6 總結(jié)與提高 .......................................... 83
4.6.1 主要知識(shí)點(diǎn) ............................. 83
4.6.2 提高例題 ................................. 84
習(xí)題 .............................................................. 86
實(shí)訓(xùn)習(xí)題....................................................... 88
第5 章 樹和二叉樹 .................................. 89
5.1 樹 ......................................................... 90
5.1.1 樹的基本概念 ......................... 90
5.1.2 樹的基本操作 ......................... 92
5.1.3 樹的存儲(chǔ)結(jié)構(gòu) ......................... 93
5.2 二叉樹 .................................................. 96
5.2.1 二叉樹的定義及基本操作 ..... 96
5.2.2 二叉樹的性質(zhì) ......................... 97
5.2.3 二叉樹的存儲(chǔ)結(jié)構(gòu) ................. 99
5.3 遍歷二叉樹 ........................................ 102
5.3.1 二叉樹的遍歷方法 ............... 102
5.3.2 二叉樹遍歷算法應(yīng)用典型例題 ....................................... 111
5.4 樹和二叉樹的關(guān)系 ............................ 113
5.4.1 將樹轉(zhuǎn)換為二叉樹 ............... 113
5.4.2 樹的遍歷 ............................... 114
5.5 哈夫曼樹及其應(yīng)用 ............................ 115
5.5.1 哈夫曼樹的定義及構(gòu)造 ....... 115
5.5.2 哈夫曼樹的應(yīng)用 ................... 119
5.6 典型例題 ........................................... 121
5.7 實(shí)訓(xùn)例題 ........................................... 123
5.7.1 實(shí)訓(xùn)例題1:根據(jù)順序存儲(chǔ)結(jié)構(gòu)建立二叉樹二叉鏈表,并對(duì)二叉樹進(jìn)行先序、中序、后序遍歷 ............................... 123
5.7.2 實(shí)訓(xùn)例題2:設(shè)計(jì)哈夫曼編碼 ....................................... 127
5.8 總結(jié)與提高 ....................................... 132
5.8.1 主要知識(shí)點(diǎn) ........................... 132
5.8.2 提高例題 ............................... 133
習(xí)題 ............................................................ 134
實(shí)訓(xùn)習(xí)題 .................................................... 137
第6 章 圖 ................................................ 138
6.1 圖的定義、基本術(shù)語(yǔ)和基本操作 .... 139
6.1.1 圖的定義 ............................... 139
6.1.2 圖的基本術(shù)語(yǔ) ....................... 139
6.1.3 圖的基本操作 ....................... 141
6.2 圖的存儲(chǔ)結(jié)構(gòu) ................................... 142
6.2.1 鄰接矩陣 ............................... 142
6.2.2 鄰接表 ................................... 144
6.2.3 鄰接矩陣和鄰接表的比較 .... 147
6.3 圖的遍歷 ........................................... 147
6.3.1 連通圖的深度優(yōu)先搜索 ....... 148
6.3.2 連通圖的廣度優(yōu)先搜索 ....... 149
6.3.3 非連通圖的遍歷 ................... 151
6.4 最小生成樹 ....................................... 151
6.4.1 相關(guān)概念 ............................... 151
6.4.2 普里姆算法 ........................... 152
6.4.3 克魯斯卡爾算法 ................... 153
6.5 最短路徑 ........................................... 154
6.6 拓?fù)渑判?........................................... 158
6.7 典型例題 ........................................... 161
6.8 實(shí)訓(xùn)例題 ........................................... 165
6.8.1 實(shí)訓(xùn)例題1:圖的遍歷 ........ 165
6.8.2 實(shí)訓(xùn)例題2:設(shè)計(jì)學(xué)習(xí)計(jì)劃 ....................................... 170
6.9 總結(jié)與提高 ....................................... 174
6.9.1 主要知識(shí)點(diǎn) ........................... 174
6.9.2 提高例題 ............................... 174
習(xí)題 ............................................................ 176
實(shí)訓(xùn)習(xí)題..................................................... 179
第7 章 查找 ............................................ 180
7.1 基本概念 ............................................ 181
7.2 線性表的查找 .................................... 181
7.2.1 順序查找 ............................... 181
7.2.2 折半查找 ............................... 183
7.2.3 分塊查找 ............................... 185
7.3 二叉排序樹的查找 ............................ 186
7.3.1 二叉排序樹的定義 ............... 187
7.3.2 二叉排序樹的查找算法 ....... 187
7.3.3 二叉排序樹的建立與插入 ... 188
7.3.4 二叉排序樹的查找算法分析 191
7.4 哈希表的查找 .................................... 191
7.4.1 哈希表的概念 ....................... 191
7.4.2 哈希函數(shù)的構(gòu)造方法 ........... 192
7.4.3 處理沖突的方法 ................... 194
7.4.4 哈希表上的運(yùn)算 ................... 198
7.5 典型例題 ............................................ 200
7.6 實(shí)訓(xùn)例題 ............................................ 203
7.6.1 實(shí)訓(xùn)例題1:構(gòu)造二叉排序樹 ................................... 203
7.6.2 實(shí)訓(xùn)例題2:哈希表的操作 ....................................... 206
7.7 總結(jié)與提高 ........................................ 211
7.7.1 主要知識(shí)點(diǎn) ........................... 211
7.7.2 提高例題 ............................... 212
習(xí)題 ............................................................ 213
實(shí)訓(xùn)習(xí)題..................................................... 215
第8 章 排序 ............................................ 216
8.1 排序的基本概念 ............................... 217
8.2 插入排序 ........................................... 217
8.2.1 直接插入排序 ....................... 218
8.2.2 希爾排序 ............................... 219
8.3 交換排序 ........................................... 221
8.3.1 冒泡排序 ............................... 221
8.3.2 快速排序 ............................... 222
8.4 選擇排序 ........................................... 224
8.4.1 直接選擇排序 ....................... 224
8.4.2 堆排序 ................................... 225
8.5 各種內(nèi)部排序方法的比較 ............... 230
8.6 典型例題 ........................................... 230
8.7 實(shí)訓(xùn)例題 ........................................... 232
8.7.1 實(shí)訓(xùn)例題1:不同排序算法的比較 ....................................... 232
8.7.2 實(shí)訓(xùn)例題2:學(xué)生成績(jī)名次表 ................................... 240
8.8 總結(jié)與提高 ....................................... 246
8.8.1 主要知識(shí)點(diǎn) ........................... 246
8.8.2 提高例題 ............................... 246
習(xí)題 ............................................................ 248
實(shí)訓(xùn)習(xí)題 .................................................... 251
附錄A 數(shù)據(jù)結(jié)構(gòu)實(shí)訓(xùn)指南 ..................... 252