數據結構(C語言版)第2版[2015年人民郵電出版社出版圖書]

數據結構(C語言版)第2版[2015年人民郵電出版社出版圖書]
更多義項 ▼ 收起列表 ▲

《數據結構(C語言版)第2版》是2015年人民郵電出版社出版的圖書,作者是嚴蔚敏,李冬梅,吳偉民。以講解利用C語言進行數據結構編輯的的一部數據程式輔導類叢書,主要面向一般本科,以及成人自學

圖書簡介

本書是為“數據結構”課程編寫的教材,也可以作為學習數據結構及其算法的C語言程式設計的參考書。

書中系統地介紹各種常用的數據結構與算法。全書共分為9章。第1章為概論,引入數據結構與算法的一些基本概念,是全書的綜述; 第2~7章分別介紹線性表、棧、佇列、串、多維數組、廣義表、樹、二叉樹和圖等幾種基本的數據結構; 第8章和第9章分別介紹查找和排序,它們都是數據處理中廣泛使用的技術。

本書的特色是深入淺出,既注重理論又重視實踐。全書配有大量的例題和詳盡的注釋,各章都有小結和不同類型的習題。書中自始至終使用C語言來描述算法和數據結構,全部程式都在CFree 3.5或Visual C++ 6.0中調試通過。

本書可作為普通高等學校計算機及相關專業本科生的教材,也可以作為專科和成人教育的教材,還可供從事計算機套用的科技人員參考。與本書配套的《數據結構實驗教程(C語言版)》也由清華大學出版社正式出版。

圖書目錄

第1章 概述1

1.1 數據結構的發展1

1.2 基本概念2

1.3 算法描述與分析4

習題19

第2章 線性表13

2.1 線性表的定義及基本操作13

2.1.1 線性表的基本概念13

2.1.2 線性表的基本操作14

2.2 順序表14

2.2.1 順序表的定義14

2.2.2 基本操作在順序表上的實現15

2.3 鍊表18

2.3.1 單鍊表的表示和實現19

2.3.2 雙鍊表的表示和實現26

2.3.3 循環鍊表的表示和實現30

2.3.4 靜態鍊表的表示和實現38

習題242

第3章 特殊線性表47

3.1 棧47

3.1.1 棧的定義及其基本操作47

3.1.2 順序棧的表示和實現48

3.1.3 鏈棧的表示和實現52

3.2 佇列55

3.2.1 佇列的定義及其基本操作55 數據結構(C語言版)(第2版)目錄 3.2.2 順序佇列的表示和實現56

3.2.3 鏈佇列的表示和實現60

3.3 串62

3.3.1 串的定義及其基本操作62

3.3.2 順序串的表示和實現63

3.3.3 鏈串的表示和實現68

3.3.4 串的模式匹配74

習題379

第4章 數組和廣義表83

4.1 數組83

4.1.1 數組的定義及基本操作83

4.1.2 數組存儲結構84

4.1.3 矩陣的壓縮存儲85

4.2 廣義表99

4.2.1 廣義表的定義和基本操作99

4.2.2 廣義表的存儲100

習題4105

第5章 樹和二叉樹109

5.1 樹的定義和基本操作109

5.1.1 樹的定義和基本術語109

5.1.2 樹的基本操作110

5.2 二叉樹的定義和性質110

5.2.1 二叉樹的定義110

5.2.2 二叉樹的性質與結論111

5.3 二叉樹的存儲114

5.3.1 二叉樹的順序存儲結構114

5.3.2 二叉樹的鏈式存儲結構117

5.4 二叉樹的遍歷及套用119

5.4.1 二叉樹的遍歷119

5.4.2 二叉樹遞歸遍歷套用舉例122

5.4.3 二叉樹的非遞歸遍歷125

5.5 線索二叉樹128

5.5.1 線索二叉樹的定義128

5.5.2 線索化處理算法129

5.6 樹和森林132

5.6.1 樹的存儲結構132

5.6.2 樹、森林與二叉樹之間的轉換135

5.6.3 樹和森林的遍歷135

5.7 霍夫曼樹及其套用136

5.7.1 霍夫曼樹136

5.7.2 霍夫曼編碼138

習題5142

第6章 圖145

6.1 圖的基本概念145

6.2 圖的存儲148

6.2.1 鄰接矩陣148

6.2.2 鄰接表與逆鄰接表150

**6.2.3 十字鍊表153

6.2.4 鄰接多重表154

6.3 圖的遍歷155

6.3.1 深度優先搜尋及其生成樹155

6.3.2 廣度優先搜尋及其生成樹156

6.4 最小生成樹157

6.4.1 Kruskal算法157

6.4.2 Prim算法159

6.5 圖的套用160

6.5.1 拓撲排序160

6.5.2 關鍵路徑162

6.5.3 最短路徑164

習題6166

第7章 查找169

7.1 靜態查找表170

7.1.1 順序查找171

7.1.2 二分查找172

7.1.3 分塊查找175

7.2 動態查找表177

7.2.1 二叉排序樹177

7.2.2 平衡二叉樹184

7.2.3 B樹與B+樹190

7.2.4 鍵樹192

7.3 散列表193

7.3.1 散列表的定義193

7.3.2 散列函式的構造方法194

7.3.3 處理衝突的方法196

7.3.4 散列表的查找與分析202

習題7203

第8章 內部排序207

8.1 概述207

8.2 插入排序210

8.3 交換排序218

8.4 選擇排序222

8.5 歸併排序228

8.6 計數排序231

8.7 基數排序232

8.8 各種排序方法的綜合比較235

習題8236

第9章 外部排序239

9.1 外存儲器簡介239

9.2 外部排序的方法241

9.3 多路歸併排序242

9.4 置換-選擇排序244

9.5 最佳歸併樹246

習題9247

第10章 動態存儲管理249

10.1 概述249

10.2 可利用空間表及分配方法251

10.3 邊界標識法254

10.3.1 可利用空間表的結構254

10.3.2 分配算法255

10.3.3 回收算法257

10.4 夥伴系統258

10.4.1 可利用空間表的結構259

10.4.2 分配算法260

10.4.3 回收算法261

10.5 無用單元收集262

10.6 存儲緊縮266

第11章 檔案269

11.1 表與檔案269

11.1.1 有關檔案的基本概念269

11.1.2 記錄的邏輯結構和物理結構270

11.1.3 檔案的操作270

11.2 外存儲器簡介271

11.2.1 檔案的物理結構271

11.2.2 檔案的邏輯結構和檔案的存儲結構272

11.2.3 順序檔案273

11.2.4 索引檔案275

11.3 ISAM檔案277

11.4 VSAM檔案278

11.5 直接存取檔案(散列檔案)279

11.6 多關鍵字檔案280

11.6.1 多重表檔案280

11.6.2 倒排檔案281

習題11281

參考文獻283

相關詞條

熱門詞條

聯絡我們