數據結構(第5版)(C語言版)

數據結構(第5版)(C語言版)

《數據結構(第5版)(C語言版)》是2019年8月電子工業出版社出版的圖書,作者是鄧文華。

基本介紹

  • 書名:數據結構(第5版)(C語言版)
  • 作者:鄧文華
  • ISBN:9787121369346
  • 頁數:272頁
  • 定價:49.8元
  • 出版社:電子工業出版社
  • 出版時間:2019年8月
  • 開本:16開
內容簡介,目錄,

內容簡介

本書對常用的數據結構做了系統的介紹,概念論述清晰,注重實際套用。全書分為9章,前8章依次介紹了數據結構的基本概念、線性表、棧和佇列、串和數組、樹與二叉樹、圖、查找和排序;第9章為實驗,共設計了10個實驗項目,基本涵蓋了數據結構的主要內容。全書以C語言為算法描述語言,第2~8章均附有典型例題與小結,便於總結與提高。
本書敘述簡潔、深入淺出,注重實踐和套用,可一書兩用(理論與實驗),主要面向套用型本科、高職高專計算機類專業的學生,也可作為大學非計算機專業學生的選修課教材和計算機套用技術人員的自學參考書。

目錄

第1章 緒論 1
1.1 從問題到程式 1
1.2 有關概念和術語 3
1.3 算法及算法分析 6
1.3.1 算法特性 6
1.3.2 算法描述 7
1.3.3 算法分析 8
1.4 關於數據結構的學習 9
1.5 關於本書內容編寫說明 11
本章小結 11
習題1 11
第2章 線性表 14
2.1 線性表的邏輯結構 14
2.1.1 線性表的定義 14
2.1.2 線性表的基本運算 14
2.2 線性表的順序存儲及其運算的實現 15
2.2.1 順序表 15
2.2.2 順序表基本運算的實現 17
2.2.3 順序表的其他運算舉例 20
2.3 線性表的鏈式存儲及其運算的實現 22
2.3.1 單鍊表 23
2.3.2 單鍊表基本運算的實現 24
2.3.3 循環鍊表 30
*2.3.4 雙向鍊表 30
2.3.5 單鍊表的其他運算舉例 32
2.4 典型例題 34
本章小結 36
習題2 37
第3章 棧和佇列 39
3.1 棧 39
3.1.1 棧的定義及其基本運算 39
3.1.2 棧的存儲結構和基本運算的實現 40
3.1.3 棧的套用舉例 42
3.1.4 棧與遞歸的實現 46
3.2 佇列 50
3.2.1 佇列的定義及其基本運算 50
3.2.2 佇列的存儲結構和基本運算的實現 51
3.2.3 佇列套用舉例 56
3.3 典型例題 57
本章小結 59
習題3 60
第4章 串和數組 64
4.1 串 64
4.1.1 串的基本概念 64
4.1.2 串的基本運算 65
4.1.3 串的存儲結構及其基本運算的實現 65
4.1.4 串的其他運算舉例 68
4.2 數組 68
4.2.1 數組的邏輯結構和基本運算 68
4.2.2 數組的存儲結構 70
4.2.3 稀疏矩陣 71
4.2.4 矩陣的其他運算舉例 74
4.3 典型例題 75
本章小結 76
習題4 77
第5章 樹與二叉樹 79
5.1 樹的概念與基本運算 79
5.1.1 樹的定義及相關術語 79
5.1.2 樹的基本運算 81
5.2 二叉樹 81
5.2.1 二叉樹的基本概念 81
5.2.2 二叉樹的主要性質 83
5.2.3 二叉樹的存儲結構與基本運算 85
5.2.4 二叉樹的遍歷 88
*5.2.5 線索二叉樹 92
5.2.6 二叉樹的其他運算舉例 95
5.3 樹與森林 98
5.3.1 樹的存儲 98
5.3.2 樹、森林與二叉樹的相互轉換 100
5.3.3 樹和森林的遍歷 102
5.4 最優二叉樹——哈夫曼樹 103
5.4.1 哈夫曼樹的基本概念 103
5.4.2 哈夫曼樹的構造算法 105
5.4.3 哈夫曼編碼 106
5.4.4 哈夫曼編碼的算法實現 108
5.5 典型例題 109
本章小結 111
習題5 112
第6章 圖 116
6.1 圖的基本概念 116
6.1.1 圖的定義和術語 116
6.1.2 圖的基本運算 118
6.2 圖的存儲結構 119
6.2.1 鄰接矩陣 119
6.2.2 鄰接表 121
6.3 圖的遍歷 123
6.3.1 深度優先搜尋 123
6.3.2 廣度優先搜尋 124
6.4 圖的套用 126
6.4.1 最小生成樹 126
6.4.2 最短路徑 129
6.4.3 拓撲排序 135
6.5 典型例題 137
本章小結 142
習題6 142
第7章 查找 146
7.1 基本概念與術語 146
7.2 靜態查找表 147
7.2.1 靜態查找表結構 147
7.2.2 順序查找 148
7.2.3 有序表的折半查找 149
7.2.4 分塊查找 152
7.3 動態查找表 153
7.3.1 二叉排序樹 153
*7.3.2 平衡二叉樹及B_樹 156
7.4 哈希表 158
7.4.1 哈希表與哈希方法 158
7.4.2 常用的哈希函式構造方法 159
7.4.3 處理衝突的方法 161
7.4.4 哈希表的查找算法 163
7.4.5 哈希表的性能分析 163
7.5 典型例題 164
本章小結 170
習題7 170
第8章 排序 174
8.1 基本概念 174
8.2 三種簡單的排序方法 175
8.2.1 直接插入排序 175
8.2.2 冒泡排序 176
8.2.3 簡單選擇排序 179
8.3 希爾排序 180
8.4 快速排序 181
*8.5 堆排序 184
8.6 歸併排序 186
*8.7 基數排序 188
8.7.1 多關鍵碼排序 188
8.7.2 鏈式基數排序 189
8.8 各種排序方法的比較與討論 191
8.9 典型例題 192
本章小結 195
習題8 195
第9章 實驗 199
實驗1 順序表的基本運算 199
實驗2 鍊表的基本運算 204
實驗3 棧的基本運算 210
實驗4 佇列的基本運算 217
實驗5 串的基本運算 227
實驗6 二叉樹的基本運算 232
實驗7 二叉樹的遍歷和哈夫曼樹 238
實驗8 圖的基本運算 245
實驗9 查找 251
實驗10 排序 257
參考文獻 262,第1章 緒論 1
1.1 從問題到程式 1
1.2 有關概念和術語 3
1.3 算法及算法分析 6
1.3.1 算法特性 6
1.3.2 算法描述 7
1.3.3 算法分析 8
1.4 關於數據結構的學習 9
1.5 關於本書內容編寫說明 11
本章小結 11
習題1 11
第2章 線性表 14
2.1 線性表的邏輯結構 14
2.1.1 線性表的定義 14
2.1.2 線性表的基本運算 14
2.2 線性表的順序存儲及其運算的實現 15
2.2.1 順序表 15
2.2.2 順序表基本運算的實現 17
2.2.3 順序表的其他運算舉例 20
2.3 線性表的鏈式存儲及其運算的實現 22
2.3.1 單鍊表 23
2.3.2 單鍊表基本運算的實現 24
2.3.3 循環鍊表 30
*2.3.4 雙向鍊表 30
2.3.5 單鍊表的其他運算舉例 32
2.4 典型例題 34
本章小結 36
習題2 37
第3章 棧和佇列 39
3.1 棧 39
3.1.1 棧的定義及其基本運算 39
3.1.2 棧的存儲結構和基本運算的實現 40
3.1.3 棧的套用舉例 42
3.1.4 棧與遞歸的實現 46
3.2 佇列 50
3.2.1 佇列的定義及其基本運算 50
3.2.2 佇列的存儲結構和基本運算的實現 51
3.2.3 佇列套用舉例 56
3.3 典型例題 57
本章小結 59
習題3 60
第4章 串和數組 64
4.1 串 64
4.1.1 串的基本概念 64
4.1.2 串的基本運算 65
4.1.3 串的存儲結構及其基本運算的實現 65
4.1.4 串的其他運算舉例 68
4.2 數組 68
4.2.1 數組的邏輯結構和基本運算 68
4.2.2 數組的存儲結構 70
4.2.3 稀疏矩陣 71
4.2.4 矩陣的其他運算舉例 74
4.3 典型例題 75
本章小結 76
習題4 77
第5章 樹與二叉樹 79
5.1 樹的概念與基本運算 79
5.1.1 樹的定義及相關術語 79
5.1.2 樹的基本運算 81
5.2 二叉樹 81
5.2.1 二叉樹的基本概念 81
5.2.2 二叉樹的主要性質 83
5.2.3 二叉樹的存儲結構與基本運算 85
5.2.4 二叉樹的遍歷 88
*5.2.5 線索二叉樹 92
5.2.6 二叉樹的其他運算舉例 95
5.3 樹與森林 98
5.3.1 樹的存儲 98
5.3.2 樹、森林與二叉樹的相互轉換 100
5.3.3 樹和森林的遍歷 102
5.4 最優二叉樹——哈夫曼樹 103
5.4.1 哈夫曼樹的基本概念 103
5.4.2 哈夫曼樹的構造算法 105
5.4.3 哈夫曼編碼 106
5.4.4 哈夫曼編碼的算法實現 108
5.5 典型例題 109
本章小結 111
習題5 112
第6章 圖 116
6.1 圖的基本概念 116
6.1.1 圖的定義和術語 116
6.1.2 圖的基本運算 118
6.2 圖的存儲結構 119
6.2.1 鄰接矩陣 119
6.2.2 鄰接表 121
6.3 圖的遍歷 123
6.3.1 深度優先搜尋 123
6.3.2 廣度優先搜尋 124
6.4 圖的套用 126
6.4.1 最小生成樹 126
6.4.2 最短路徑 129
6.4.3 拓撲排序 135
6.5 典型例題 137
本章小結 142
習題6 142
第7章 查找 146
7.1 基本概念與術語 146
7.2 靜態查找表 147
7.2.1 靜態查找表結構 147
7.2.2 順序查找 148
7.2.3 有序表的折半查找 149
7.2.4 分塊查找 152
7.3 動態查找表 153
7.3.1 二叉排序樹 153
*7.3.2 平衡二叉樹及B_樹 156
7.4 哈希表 158
7.4.1 哈希表與哈希方法 158
7.4.2 常用的哈希函式構造方法 159
7.4.3 處理衝突的方法 161
7.4.4 哈希表的查找算法 163
7.4.5 哈希表的性能分析 163
7.5 典型例題 164
本章小結 170
習題7 170
第8章 排序 174
8.1 基本概念 174
8.2 三種簡單的排序方法 175
8.2.1 直接插入排序 175
8.2.2 冒泡排序 176
8.2.3 簡單選擇排序 179
8.3 希爾排序 180
8.4 快速排序 181
*8.5 堆排序 184
8.6 歸併排序 186
*8.7 基數排序 188
8.7.1 多關鍵碼排序 188
8.7.2 鏈式基數排序 189
8.8 各種排序方法的比較與討論 191
8.9 典型例題 192
本章小結 195
習題8 195
第9章 實驗 199
實驗1 順序表的基本運算 199
實驗2 鍊表的基本運算 204
實驗3 棧的基本運算 210
實驗4 佇列的基本運算 217
實驗5 串的基本運算 227
實驗6 二叉樹的基本運算 232
實驗7 二叉樹的遍歷和哈夫曼樹 238
實驗8 圖的基本運算 245
實驗9 查找 251
實驗10 排序 257
參考文獻 262

相關詞條

熱門詞條

聯絡我們