數據結構

2011年人民郵電出版社出版的圖書

《數據結構》是2011年2月1日人民郵電出版社出版的圖書,作者是嚴蔚敏、李冬梅、吳偉民。

內容簡介


內容提要

《數據結構(C語言版)》在選材與編排上,貼近當前普通高等院校“數據結構”課程的現狀和發展趨勢,符合最新研究生考試大綱,內容難度適度,突出實用性和應用性。全書共8章,內容包括緒論,線性表,棧和隊列,串、數組和廣義表,樹和二叉樹,圖,查找和排序。全書採用類C語言作為數據結構和演演算法的描述語言。
《數據結構(C語言版)》可作為普通高等院校計算機和信息技術相關專業“數據結構”課程的教材使用,也可供從事計算機工程與應用工作的科技工作者參考。

配套資源

本書包含如下可供下載的配套資源:
[電子教案]、[習題答案]、[勘誤文檔]、[教學大綱]、[案例代碼]

編輯推薦

精選內容,貼近普通高校課程現狀;
順應發展,符合最新考研大綱要求;
類C描述,培養演演算法設計應用能力。

作品目錄


第1章 緒論
1.1數據結構的研究內容 1
1.2基本概念和術語 3
1.2.1數據、數據元素、數據項和數據對象 3
1.2.2數據結構 4
1.2.3數據類型和抽象數據類型 6
1.3抽象數據類型的表示與實現 7
1.4演演算法和演演算法分析 11
1.4.1演演算法的定義及特性 11
1.4.2評價演演算法優劣的基本標準 11
1.4.3演演算法的時間複雜度 12
1.4.4演演算法的空間複雜度 14
1.5小結 15
習題 16
第2章 線性表
2.1線性表的類型定義 18
2.1.1線性表的定義和特點 18
2.1.2線性表的抽象數據類型定義 18
2.2線性表的順序表示和實現 19
2.2.1線性表的順序存儲表示 19
2.2.2順序表中基本操作的實現 20
2.3線性表的鏈式表示和實現 24
2.3.1單鏈表的定義和表示 24
2.3.2單鏈表基本操作的實現 26
2.3.3循環鏈表 31
2.3.4雙向鏈表 32
2.4線性表的應用 34
2.4.1一般線性表的合併 34
2.4.2有序表的合併 35
2.4.3一元多項式的表示及相加 37
2.5小結 40
習題 41
第3章 棧和隊列
3.1棧 44
3.1.1棧的類型定義 44
3.1.2順序棧的表示和實現 45
3.1.3鏈棧的表示和實現 47
3.2棧的應用 48
3.2.1數制轉換 49
3.2.2括弧匹配的檢驗 49
3.2.3表達式求值 51
3.3棧與遞歸 54
3.3.1採用遞歸演演算法解決的問題 54
3.3.2遞歸過程與遞歸工作棧 57
3.3.3遞歸演演算法的效率分析 59
3.3.4將遞歸轉換為非遞歸的方法 60
3.4隊列 61
3.4.1隊列的類型定義 61
3.4.2循環隊列——隊列的順序表示和實現 62
3.4.3鏈隊——隊列的鏈式表示和實現 65
3.5隊列的應用 67
3.6小結 69
習題 69
第4章 串、數組和廣義表
4.1串 73
4.1.1串的類型定義 73
4.1.2串的存儲結構 75
4.1.3串的模式匹配演演算法 76
4.2數組 83
4.2.1數組的類型定義 83
4.2.2數組的順序存儲 84
4.2.3特殊矩陣的壓縮存儲 85
4.3廣義表 87
4.3.1廣義表的定義 87
4.3.2廣義表的存儲結構 88
4.4小結 90
習題 91
第5章 樹和二叉樹
5.1樹的定義和基本術語 94
5.1.1樹的定義 94
5.1.2樹的基本術語 96
5.2二叉樹 97
5.2.1二叉樹的定義 97
5.2.2二叉樹的性質 100
5.2.3二叉樹的存儲結構 102
5.3遍歷二叉樹和線索二叉樹 103
5.3.1遍歷二叉樹 103
5.3.2線索二叉樹 109
5.4樹和森林 114
5.4.1樹的存儲結構 114
5.4.2森林與二叉樹的轉換 116
5.4.3樹和森林的遍歷 116
5.5赫夫曼樹及其應用 117
5.5.1赫夫曼樹的基本概念 117
5.5.2赫夫曼樹的構造演演算法 118
5.5.3赫夫曼編碼 121
5.6小結 123
習題 123
第6章 圖
6.1圖的定義和基本術語 126
6.1.1圖的定義 126
6.1.2圖的基本術語 128
6.2圖的存儲結構 129
6.2.1鄰接矩陣 130
6.2.2鄰接表 132
6.3圖的遍歷 135
6.3.1深度優先搜索 135
6.3.2廣度優先搜索 138
6.4圖的應用 139
6.4.1最小生成樹 139
6.4.2最短路徑 144
6.4.3拓撲排序 150
6.4.4關鍵路徑 153
6.5小結 158
習題 160
第7章 查找
7.1查找的基本概念 164
7.2線性表的查找 165
7.2.1順序查找 165
7.2.2折半查找 166
7.3樹表的查找 169
7.3.1二叉排序樹 170
7.3.2平衡二叉樹 176
7.3.3B-樹 182
7.3.4B+樹 190
7.4散列表的查找 192
7.4.1散列表的基本概念 192
7.4.2散列函數的構造方法 193
7.4.3處理衝突的方法 195
7.4.4散列表的查找 198
7.5小結 201
習題 203
第8章 排序
8.1基本概念和排序方法概述 207
8.1.1排序的基本概念 207
8.1.2排序方法的分類 208
8.1.3待排序記錄的存儲方式 208
8.1.4排序演演算法效率的評價指標 209
8.2插入排序 209
8.2.1直接插入排序 209
8.2.2折半插入排序 211
8.2.3希爾排序 212
8.3交換排序 214
8.3.1冒泡排序 215
8.3.2快速排序 216
8.4選擇排序 219
8.4.1簡單選擇排序 219
8.4.2堆排序 221
8.5歸併排序 226
8.6基數排序 228
8.6.1多關鍵字的排序 228
8.6.2鏈式基數排序 228
8.7小結 232
習題 233

作者簡介


嚴蔚敏,清華大學計算機系教授,長期從事數據結構教學和教材建設,和吳偉民合作編著的《數據結構》曾獲“第二屆普通高等學校優秀教材全國特等獎”和“1996年度國家科學技術進步獎三等獎”。