數據結構與實訓(第3版)

《數據結構與實訓(第3版)》是2015年電子工業出版社出版的圖書,作者是張紅霞、白桂梅、王勤。

基本介紹

  • 書名:數據結構與實訓(第3版)
  • 作者:張紅霞、白桂梅、王勤
  • 出版社:電子工業出版社
  • 出版時間:2015年
  • 千字數:436
內容簡介,目錄,

內容簡介

全書共8章。第1章介紹了數據結構和算法的基本概念;第2~4章介紹了線性表、堆疊、佇列、串、數組等常用的線性結構;第5、6章介紹了非線性結構、樹形結構和圖狀結構;第7、8章介紹了兩種基本技術:查找和排序的常用算法。附錄A介紹了實訓的相關知識,包括實訓的步驟、實訓報告規範和實訓的環境。本書對每一種數據結構都詳細闡述了基本概念、各種不同的存儲結構以及在不同存儲結構上的主要算法的實現,並給出豐富的典型例題,以幫助讀者理解。

目錄

第1章 概論 1
1.1 引言 1
1.1.1 什麼是數據結構 1
1.1.2 數據結構研究什麼 1
1.2 數據結構的基本概念 3
1.3 算法和算法的分析 4
1.3.1 算法及算法的描述 4
1.3.2 算法設計的要求 4
1.3.3 算法的分析 5
1.4 總結與提高 7
習題 8
第2章 線性表 11
2.1 線性表的定義及運算 11
2.1.1 線性表的定義 11
2.1.2 線性表的基本運算 11
2.2 線性表的順序存儲結構 12
2.2.1 順序表 12
2.2.2 順序表上基本運算的實現 13
2.3 線性表的鏈式存儲結構 16
2.3.1 單鍊表及其基本運算 16
2.3.2 循環鍊表 20
2.4 順序表與鍊表的比較 21
2.5 典型題例 22
2.6 實訓例題 24
2.6.1 實訓例題1:有序順序表的建立及查找 24
2.6.2 實訓例題2:多項式的表示和相加 27
2.7 總結與提高 31
2.7.1 主要知識點 31
2.7.2 提高題例 32
習題 33
實訓習題 35
第3章 堆疊和佇列 36
3.1 堆疊 36
3.1.1 堆疊的定義及基本運算 36
3.1.2 堆疊的順序存儲結構 36
3.1.3 堆疊的鏈式存儲結構 39
3.2 棧典型題例 42
3.3 佇列 43
3.3.1 佇列的定義及運算 43
3.3.2 佇列的順序存儲結構 44
3.3.3 佇列的鏈式存儲結構 46
3.4 佇列典型題例 48
3.5 實訓例題 50
3.5.1 實訓例題1:順序循環佇列的操作 50
3.5.2 實訓例題2:括弧配對 52
3.6 總結與提高 56
3.6.1 主要知識點 56
3.6.2 提高題例 56
習題 58
實訓習題 60
第4章 串與數組 62
4.1 串及其基本運算 62
4.1.1 串的基本概念 62
4.1.2 串的基本運算 63
4.2 串的存儲結構 64
4.2.1 串的順序存儲 64
4.2.2 串的堆存儲結構 66
4.2.3 串的鏈式存儲 67
4.3 數組 68
4.3.1 數組的定義 68
4.3.2 一維數組、二維數組和多維數組 69
4.4 典型題例 70
4.5 實訓例題 71
4.5.1 實訓例題1:字元串操作 71
4.5.2 實訓例題2:二維數組 74
4.6 總結與提高 76
4.6.1 主要知識點 76
4.6.2 提高題例 77
習題 79
實訓習題 81
第5章 樹和二叉樹 82
5.1 樹 82
5.1.1 樹的基本概念 82
5.1.2 樹的基本操作 84
5.1.3 樹的存儲結構 85
5.2 二叉樹 88
5.2.1 二叉樹的定義及基本操作 88
5.2.2 二叉樹的性質 89
5.2.3 二叉樹的存儲結構 91
5.3 遍歷二叉樹 93
5.3.1 二叉樹的遍歷方法 93
5.3.2 二叉樹遍歷算法套用典型例題 102
5.4 樹和二叉樹的關係 104
5.4.1 樹轉換為二叉樹 104
5.4.2 樹的遍歷 105
5.5 哈夫曼樹及其套用 106
5.5.1 哈夫曼樹的定義及構造 106
5.5.2 哈夫曼樹的套用 109
5.6 典型題例 111
5.7 實訓例題 113
5.7.1 實訓例題1:根據順序存儲建立二叉鍊表,並對二叉樹進行先序、中序、後序遍歷 113
5.7.2 實訓例題2:設計哈夫曼編碼 116
5.8 總結與提高 121
5.8.1 主要知識點 121
5.8.2 提高題例 122
習題 124
實訓習題 126
第6章 圖 127
6.1 圖的定義和術語 127
6.1.1 圖的定義 127
6.1.2 圖的基本術語 127
6.1.3 圖的基本操作 129
6.2 圖的存儲結構 130
6.2.1 鄰接矩陣 130
6.2.2 鄰接表 132
6.2.3 鄰接矩陣和鄰接表的比較 135
6.3 圖的遍歷 135
6.3.1 連通圖的深度優先搜尋 135
6.3.2 連通圖的廣度優先搜尋 137
6.3.3 非連通圖的遍歷 139
6.4 最小生成樹 139
6.4.1 生成樹及最小生成樹 139
6.4.2 普里姆算法 140
6.4.3 克魯斯卡爾算法 141
6.5 最短路徑 142
6.6 拓撲排序 145
6.7 典型題例 149
6.8 實訓例題 152
6.8.1 實訓例題1:圖的遍歷 152
6.8.2 實訓例題2:設計學習計畫 158
6.9 總結與提高 162
6.9.1 主要知識點 162
6.9.2 提高題例 162
習題 164
實訓習題 166
第7章 查找 168
7.1 基本概念 168
7.2 線性表的查找 168
7.2.1 順序查找 169
7.2.2 折半查找 170
7.2.3 分塊查找 172
7.3 二叉排序樹的查找 173
7.3.1 二叉排序樹的定義 173
7.3.2 二叉排序樹的查找算法 174
7.3.3 二叉排序樹的建立與插入 175
7.3.4 二叉排序樹的查找算法分析 177
7.4 哈希表的查找 178
7.4.1 哈希表的概念 178
7.4.2 哈希函式的構造方法 179
7.4.3 處理衝突的方法 181
7.4.4 哈希表上的運算 184
7.5 典型題例 186
7.6 實訓例題 189
7.6.1 實訓例題1:構造二叉排序樹 189
7.6.2 實訓例題2:哈希表的操作 192
7.7 總結與提高 197
7.7.1 主要知識點 197
7.7.2 提高題例 198
習題 200
實訓習題 201
第8章 排序 202
8.1 排序的基本概念 202
8.2 插入排序 202
8.2.1 直接插入排序 203
8.2.2 希爾排序 204
8.3 交換排序 206
8.3.1 冒泡排序 206
8.3.2 快速排序 207
8.4 選擇排序 209
8.4.1 直接選擇排序 209
8.4.2 堆排序 210
8.5 各種內部排序方法的比較 214
8.7 典型題例 215
8.8 實訓例題 217
8.8.1 實訓例題1:不同排序算法的比較 217
8.8.2 實訓例題2:學生成績名次表 225
8.9 總結與提高 231
8.9.1 主要知識點 231
8.9.2 提高題例 232
習題 233
實訓習題 236
附錄A 數據結構實訓指南 237

相關詞條

熱門詞條

聯絡我們