數據結構教程(C++版)

數據結構教程(C++版)

《數據結構教程(C++版)》是2009年清華大學出版社出版的圖書。

基本介紹

  • 書名:數據結構教程(C++版)
  • ISBN:9787302182641
  • 定價:36元
  • 出版時間:2009-4-3
  • 裝幀:平裝
出版信息,圖書簡介,圖書目錄,

出版信息

數據結構教程(C++版)
作者:陳明
定價:36元
印次:1-1
ISBN:9787302182641
出版日期:2009.05.01
印刷日期:2009.04.03

圖書簡介

本書系統地介紹了各種典型的數據結構,主要包括線性表、棧和佇列、串、數組和廣義表、樹、圖、查找、排序、遞歸和檔案,為了加強對算法和C++語言的理解,還介紹了算法及算法分析、面向對象的程式設計與C++方面的內容。本書內容精選、概念清楚、注重實用、邏輯性強,各章中所涉及的數據結構與算法都給出了C++語言描述,並都附有大量習題,便於學生理解與掌握。
本書可作為高等院校計算機專業及相關專業的教材,也可作為計算機套用技術人員的參考書。

圖書目錄

第1章 緒論1
1.1 數據結構的重要性 1
1.2 面向對象程式設計 2
1.2.1 面向對象方法 2
1.2.2 C++的特徵及基本概念 3
1.3 基本術語 4
1.4 抽象數據類型 6
1.5 數據結構的概念 8
1.6 數據的邏輯結構 10
1.7 數據的存儲結構 11
1.8 數據的運算 13
1.9 數據的邏輯結構、存儲結構及數據的運算的關係 14
1.10 算法的描述和分析 14
1.10.1 算法描述 14
1.10.2 算法分析 15
小結 17
習題一 17
第2章 算法基礎19
2.1 算法的相關概念 19
2.1.1 算法的概念 19
2.1.2 算法與程式 19
2.1.3 數據結構與算法 20
2.2 算法分析的相關概念 20
2.2.1 算法分析的概念 21
2.2.2 算法的時間複雜度 22
2.2.3 算法的空間複雜度 25
2.3 算法分析舉例 26
2.3.1 多項式問題 26
2.3.2 靜態搜尋問題 27
2.4 檢驗一個算法分析 30
小結 31
習題二 31
第3章 面向對象程式設計與C++35
3.1 面向對象程式設計的概念 35
數據結構教程(C++版) 目錄 3.2 面向對象的程式設計與C++ 35
3.3 變數、常量與數據類型 36
3.3.1 變數 36
3.3.2 常量 36
3.3.3數據類型37
3.4控制語句41
3.4.1表達式語句和空語句41
3.4.2塊語句41
3.4.3選擇語句42
3.4.4循環語句42
3.4.5轉移語句42
3.5函式43
3.5.1函式定義43
3.5.2函式聲明43
3.5.3函式調用44
3.5.4參數傳遞44
3.5.5函式重載46
3.5.6構造函式和析構函式47
3.5.7友元函式48
3.6繼承與派生48
3.7多態性、虛函式和純虛函式49
3.8模板51
3.8.1模板的概念51
3.8.2函式模板與模板函式52
3.8.3類模板與模板類54
3.9輸入與輸出55
小結56
習題三56
第4章線性表57
4.1線性表及其抽象數據類型說明57
4.1.1線性表及其邏輯結構57
4.1.2線性表的抽象數據類型描述61
4.2線性表的順序存儲62
4.2.1順序存儲62
4.2.2順序表(LinearList)類的定義63
4.2.3順序表(LinearList)類的實現64
4.3線性表的鏈式存儲67
4.3.1線性鍊表的存儲結構67
4.3.2線性鍊表(Chain)類的定義69
4.3.3線性鍊表(Chain)類的實現70
4.3.4循環鍊表74
4.3.5循環鍊表CircularList類的實現75
4.3.6雙向鍊表76
4.3.7可利用空間表78
4.3.8表遍歷器79
4.4線性表的順序存儲和鏈式存儲的比較81
4.5鏈式存儲結構的套用82
4.5.1約瑟夫問題82
4.5.2一元多項式求和83
小結87
習題四87
第5章棧和佇列91
5.1棧91
5.1.1棧的定義91
5.1.2棧的順序存儲結構94
5.1.3棧的鏈式存儲結構97
5.1.4順序棧和鏈式棧的比較99
5.2棧的套用100
5.2.1迷宮問題100
5.2.2表達式求值103
5.2.3漢諾塔問題106
5.2.4數制轉換108
5.2.5行編輯108
5.3佇列110
5.3.1佇列的定義110
5.3.2佇列的順序存儲112
5.3.3佇列的鏈式存儲120
5.3.4順序佇列與鏈式佇列的比較123
5.3.5優先佇列124
5.4佇列的套用124
5.4.1解決設備速度不匹配問題124
5.4.2舞伴問題125
5.4.3火車車廂重排126
小結128
習題五129
第6章串133
6.1C++語言的字元和字元串133
6.2串的基本概念134
6.3串的存儲結構135
6.3.1串的順序存儲結構136
6.3.2串的鏈式存儲結構137
6.3.3串的索引存儲結構138
6.4串的操作139
6.4.1常用的C++字元串函式139
6.4.2串的抽象數據類型的描述141
6.4.3串的類定義142
6.4.4部分成員函式的實現143
6.5串的基本運算與實現146
6.5.1串插入146
6.5.2串刪除147
6.6模式匹配149
6.6.1模式匹配的BF算法149
6.6.2模式匹配的KMP算法151
6.7串在文本編輯中的套用155
小結156
習題六156
第7章數組和廣義表159
7.1C++中數組的定義及抽象數據類型表示159
7.1.1C++中數組的定義159
7.1.2數組的抽象數據類型表示160
7.2數組的順序存儲結構161
7.3矩陣的壓縮存儲162
7.3.1特殊矩陣的壓縮存儲163
7.3.2稀疏矩陣的壓縮存儲166
7.4廣義表的概念173
7.5廣義表的存儲結構表示174
7.6廣義表的運算176
小結183
習題七183
第8章樹187
8.1樹187
8.1.1樹的定義187
8.1.2樹的表示形式188
8.1.3樹的常用術語189
8.1.4樹的基本操作189
8.1.5一個樹的接口190
8.1.6樹的基本算法191
8.2二叉樹193
8.2.1二叉樹的定義193
8.2.2二叉樹的性質194
8.2.3二叉樹的接口197
8.2.4二叉樹的存儲結構197
8.2.5二叉樹的遍歷204
8.2.6二叉樹遍歷的套用207
8.3線索二叉樹208
8.3.1線索二叉樹的類定義208
8.3.2中序線索二叉樹212
8.4樹、森林和二叉樹的關係215
8.4.1樹的存儲結構215
8.4.2森林與二叉樹的轉換218
8.4.3樹和森林的遍歷220
8.5哈夫曼樹及其套用222
8.5.1哈夫曼樹的定義222
8.5.2哈夫曼樹的構造223
8.5.3哈夫曼樹在編碼問題中的套用226
小結227
習題八228
第9章圖231
9.1圖的基本概念231
9.1.1圖的定義及基本概念231
9.1.2圖的抽象數據類型234
9.2圖的存儲結構236
9.2.1鄰接矩陣表示法236
9.2.2鄰接表242
9.2.3十字鍊表249
9.2.4鄰接多重表250
9.3圖的遍歷252
9.3.1深度優先搜尋252
9.3.2廣度優先搜尋254
9.3.3歐拉迴路255
9.4圖的連通性257
9.4.1連通分量257
9.4.2重連通分量259
9.5生成樹259
9.5.1普里姆(Prim)算法261
9.5.2克魯斯卡爾(Kruskal)算法264
9.6最短路徑266
9.6.1單源最短路徑266
9.6.2求每一對頂點之間的最短路徑269
9.7拓撲排序270
9.8關鍵路徑274
小結280
習題九280
第10章查找285
10.1基本概念285
10.2線性表的查找286
10.2.1順序查找286
10.2.2折半查找288
10.2.3索引查找290
10.2.4分塊查找294
10.3樹表查找296
10.3.1二叉查找樹296
10.3.2平衡二叉樹303
10.3.3B-樹307
10.4哈希表的查找309
10.4.1哈希表309
10.4.2構造哈希表的基本方法311
10.4.3解決衝突的方法313
10.4.4哈希表的查找方法315
10.5各種查找方法的比較316
小結317
習題十318
第11章排序321
11.1基本概念321
11.2內部排序324
11.2.1插入排序324
11.2.2交換排序329
11.2.3選擇排序333
11.2.4歸併排序341
11.2.5基數排序345
11.3內部排序方法比較349
11.4外部排序簡介350
小結351
習題十一351
第12章遞歸355
12.1遞歸的定義355
12.2常見遞歸問題356
12.2.1漢諾塔問題356
12.2.2八皇后問題358
12.2.3表達式樹360
12.3遞歸的實現362
12.4消除遞歸365
12.4.1尾遞歸和單向遞歸的消除365
12.4.2用棧模擬系統運行時的棧367
12.5遞歸的評估370
小結371
習題十二371
第13章檔案375
13.1外存儲器的介紹375
13.2磁碟376
13.3有關檔案的概念377
13.3.1檔案及其類別378
13.3.2檔案的操作379
13.4檔案的組織380
13.4.1順序檔案381
13.4.2索引檔案382
13.4.3散列檔案388
13.4.4多關鍵字檔案389
13.5外部排序391
13.5.1外部排序的簡單方法392
13.5.2兩路歸併392
13.5.3多路歸併395
13.6檔案的索引結構396
13.6.1索引向量396
13.6.2樹形索引結構397
小結397
習題十三397
參考文獻399

相關詞條

熱門詞條

聯絡我們