數據結構(C語言版)
袁輝
- 出版商: 西安電子科技大學出版
- 出版日期: 2024-08-01
- 定價: $294
- 售價: 8.5 折 $250
- 語言: 簡體中文
- ISBN: 7560672531
- ISBN-13: 9787560672533
-
相關分類:
C 程式語言
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書是為高等職業院校及職業技術大學計算機類專業學生學習數據結構課程而編寫的,主要介紹了數據結構的基本概念和基本算法。全書共分10章,主要內容包括緒論、線性表、棧、隊列、串、數組、樹、圖、排序和查找等。針對職業院校學生的特點,本書以培養學生的基本專業素質及綜合應用能力為目標,在基礎理論的闡述、內容的選取和組織方面,都力求面向應用,邏輯結構簡明合理,由淺入深,循序漸進,既保證理論的正確性,又突出知識的實用性與應用性。本書可作為職業院校計算機相關專業的本科或專科教材,也可作為相關領域從業人員的參考書籍。
目錄大綱
第1章 緒論 1
1.1 數據結構的概念及分類 2
1.1.1 數據與數據結構 2
思政要點 2
1.1.2 數據結構的分類 3
思政要點 4
1.2 抽象數據類型 5
1.2.1 數據類型 5
1.2.2 數據抽象與抽象數據類型 5
1.2.3 用於描述數據結構的語言 7
思政要點 7
1.3 算法定義 7
思政要點 9
1.4 算法性能分析與度量 9
1.4.1 算法的性能標準 9
思政要點 10
1.4.2 算法的後期測試 10
1.4.3 算法的事前估計 11
思政要點 15
1.4.4 漸進的時間覆雜度 15
思政要點 18
1.4.5 漸進的空間覆雜度 18
思政要點 19
1.5 上機實驗 19
思政要點 21
本章小結 21
習題1 22
第2章 線性表 24
2.1 線性表實例及概念 25
思政要點 26
2.2 線性表的存儲方式 26
2.2.1 線性表的順序存儲結構 26
2.2.2 線性表的鏈式存儲結構 27
思政要點 30
2.3 線性表的有關操作 30
2.3.1 順序表的操作實現 30
思政要點 35
2.3.2 單鏈表的操作實現 35
思政要點 40
2.3.3 雙向循環鏈表的操作實現 41
思政要點 43
2.4 線性表的ADT定義 44
思政要點 45
2.5 線性表的應用—多項式相加問題 45
2.5.1 存儲結構的選取 45
2.5.2 一元多項加法運算的實現 45
思政要點 47
2.6 上機實驗 47
思政要點 50
本章小結 50
習題2 53
第3章 棧 56
3.1 棧的應用實例及概念 57
思政要點 58
3.2 棧的存儲方式 58
3.2.1 棧的順序存儲結構 58
思政要點 59
3.2.2 棧的鏈式存儲結構 59
思政要點 60
3.3 棧的有關操作 60
3.3.1 順序棧的操作實現 60
3.3.2 鏈棧的操作實現 62
思政要點 64
3.4 棧的ADT定義 64
思政要點 65
3.5 棧的應用實例——算術表達式的求值 65
3.5.1 表達式的構成 65
3.5.2 運算符的優先關系 65
3.5.3 算法思路 66
思政要點 67
3.6 上機實驗 67
思政要點 70
本章小結 70
習題3 71
第4章 隊列 74
4.1 隊列的應用實例及概念 75
思政要點 76
4.2 隊列的存儲方式 76
4.2.1 隊列的鏈式存儲結構 76
思政要點 78
4.2.2 隊列的順序存儲結構 78
思政要點 80
4.3 隊列的有關操作 81
4.3.1 循環隊列的操作實現 81
思政要點 83
4.3.2 鏈隊列的操作實現 83
4.4 隊列的ADT定義 87
思政要點 87
4.5 順序循環隊列的應用 88
思政要點 89
4.6 上機實驗 89
思政要點 93
本章小結 93
習題4 94
第5章 串 97
5.1 串的應用實例及基本概念 98
思政要點 98
5.2 串的存儲結構 99
5.2.1 串的順序存儲 99
思政要點 100
5.2.2 串的鏈式存儲 100
思政要點 101
5.3 串運算的實現 101
思政要點 109
5.4 串的ADT定義 109
思政要點 110
5.5 上機實驗 110
思政要點 113
本章小結 113
習題5 115
第6章 數組 116
6.1 二維數組應用實例及概念 117
思政要點 118
6.2 數組的順序存儲和實現 118
6.2.1 數組的順序存儲 118
6.2.2 數組的實現 119
思政要點 121
6.3 特殊矩陣的壓縮存儲 122
6.3.1 三角矩陣 122
6.3.2 稀疏矩陣 124
思政要點 129
6.4 數組應用實例 129
思政要點 131
6.5 上機實驗 132
思政要點 134
本章小結 134
習題6 135
第7章 樹 137
7.1 樹的實例和基本概念 138
7.1.1 樹的實例 138
7.1.2 樹的基本概念 138
7.1.3 樹的常用術語 139
7.1.4 樹的表示方法 140
思政要點 140
7.2 二叉樹 141
7.2.1 二叉樹的定義 141
7.2.2 二叉樹的重要性質 141
思政要點 143
7.2.3 二叉樹的存儲結構 143
7.2.4 二叉樹二叉鏈表的一個
生成算法 144
思政要點 145
7.3 二叉樹的遍歷 145
7.3.1 二叉樹遍歷的定義 145
7.3.2 遍歷的遞歸方法 146
7.3.3 二叉樹遍歷的非遞歸實現 147
思政要點 151
7.4 二叉樹其他運算的實現 151
思政要點 153
7.5 線索二叉樹 154
7.5.1 線索二叉樹的基本概念 154
7.5.2 線索二叉樹的邏輯表示圖 155
7.5.3 中序次序線索化算法 155
7.5.4 在中序線索樹上檢索某結點的
前驅或後繼 157
7.5.5 在中序線索樹上遍歷二叉樹 158
思政要點 158
7.6 樹與森林 158
7.6.1 樹的存儲結構 158
7.6.2 樹、森林和二叉樹的轉換 161
7.6.3 一般樹或森林的遍歷 163
思政要點 164
7.7 哈夫曼樹及其應用 164
7.7.1 哈夫曼樹的基本概念 164
7.7.2 哈夫曼樹的構造及其算法 165
7.7.3 哈夫曼樹的應用 167
思政要點 169
7.8 二叉樹的ADT定義 169
思政要點 170
7.9 上機實驗 170
思政要點 173
本章小結 173
習題7 175
第8章 圖 178
8.1 圖的實例及概念 179
8.1.1 實例 179
8.1.2 圖的定義和基本概念 179
思政要點 182
8.2 圖的存儲結構及實現 182
8.2.1 鄰接矩陣 183
8.2.2 鄰接鏈表 190
8.2.3 圖的ADT定義 199
8.3 遍歷圖 199
8.3.1 深度優先搜索法 200
8.3.2 廣度優先搜索法 201
思政要點 203
8.4 最小生成樹 204
8.4.1 最小生成樹的基本概念 204
思政要點 205
8.4.2 普里姆算法 205
思政要點 208
8.4.3 克魯斯卡爾算法 208
思政要點 209
8.5 最短路徑 210
8.5.1 從某個源點到其他各頂點的
最短路徑 210
思政要點 213
8.5.2 求每一對頂點之間的最短路徑 213
思政要點 216
8.6 上機實驗 216
思政要點 221
本章小結 221
習題8 224
第9章 排序 227
9.1 排序的基本概念 228
思政要點 229
9.2 插入排序 229
9.2.1 直接插入排序 229
思政要點 231
9.2.2 希爾排序 231
思政要點 233
9.3 交換排序 233
9.3.1 冒泡排序 233
思政要點 234
9.3.2 快速排序 234
思政要點 237
9.4 選擇排序 237
9.4.1 直接選擇排序 237
思政要點 238
9.4.2 堆排序 238
思政要點 244
9.5 上機實驗 244
思政要點 245
本章小結 246
習題9 246
第10章 查找 248
10.1 靜態查找表 249
10.1.1 無序順序表的查找 249
思政要點 250
10.1.2 有序順序表的查找 251
思政要點 252
10.1.3 索引順序表的查找 252
思政要點 255
10.2 動態查找表 255
10.2.1 二叉排序樹 255
思政要點 259
10.2.2 平衡二叉樹 260
思政要點 261
10.3 哈希表及其查找 261
10.3.1 哈希表與哈希函數 261
思政要點 262
10.3.2 構造哈希函數的常用方法 263
思政要點 264
10.3.3 解決沖突的主要方法 264
思政要點 266
10.4 上機實驗 266
思政要點 269
本章小結 269
習題10 269
參考文獻 271