數據結構(王祖儷)

數據結構(王祖儷)

《數據結構(王祖儷)》是2016年西安電子科技大學出版社出版的圖書,作者是王祖儷。

內容簡介

本書以C語言為程式設計語言,通過算法、代碼、流程圖等多種表現形式詳細介紹了數據結構的基本概念、邏輯特性和物理特性,對各種結構定義了相應的抽象數據類型,並給出了套用實例。在各章節末尾,還提供了習題供讀者練習。

本書可作為高等院校計算機及相關專業數據結構課程的教材,也可作為計算機套用開發人員的參考書。

目錄

第1章 緒論 1

1.1 什麼是數據結構 1

1.1.1 數據結構基本概念 1

1.1.2 數據結構圖形表示 2

1.2 什麼是算法 3

1.2.1 算法概念 3

1.2.2 算法設計要求 3

1.2.3 算法複雜度 4

1.3 C語言要點回顧 7

1.3.1 基本數據類型 7

1.3.2 其他複合數據類型 8

1.3.3 指針數據類型 10

1.3.4 常用結構及函式 12

習題 15

第2章 線性表 17

2.1 線性表的邏輯結構 17

2.1.1 線性表的概念 17

2.1.2 線性表的抽象數據類型 18

2.2 線性表的順序結構及基本運算實現 19

2.2.1 線性表的順序表示 19

2.2.2 順序表的基本運算 20

2.3 線性表的鏈式結構及基本運算實現 32

2.3.1 單鍊表的表示 32

2.3.2 單鍊表的操作實現 34

2.3.3 單循環鍊表 44

2.3.4 雙向鍊表 48

2.3.5 靜態鍊表 49

2.4 線性表綜合運用 52

2.4.1 一元多項式的加減法 52

2.4.2 約瑟夫環 55

習題 58

第3章 棧和佇列 59

3.1 棧的基本概念 59

3.1.1 棧的定義 59

3.1.2 棧的抽象數據類型 60

3.2 棧的表示與實現 60

3.2.1 棧的順序表示 60

3.2.2 棧的鏈式表示 63

3.3 棧的套用 65

3.3.1 整數的數制轉換 65

3.3.2 判斷字元串是否為回文 69

3.4 佇列 70

3.4.1 佇列的基本定義與抽象數據類型 70

3.4.2 鏈佇列 72

3.4.3 循環佇列 80

習題 87

第4章 數組 88

4.1 數組的概念 88

4.2 數組的順序存儲 89

4.3 矩陣的壓縮存儲 89

4.3.1 對稱矩陣 90

4.3.2 稀疏矩陣 91

習題 100

第5章 樹 101

5.1 樹的相關基本概念 101

5.1.1 樹的定義與基本術語 101

5.1.2 樹的抽象數據類型定義 103

5.1.3 樹的存儲結構表示 105

5.2 二叉樹 109

5.2.1 二叉樹的定義 109

5.2.2 二叉樹的性質 112

5.2.3 二叉樹的存儲結構 114

5.3 二叉樹常用操作 117

5.3.1 二叉鍊表結構下的常用操作 117

5.3.2 順序存儲結構下的常用操作 139

5.3.3 反推二叉樹結構 150

5.4 線索二叉樹 151

5.4.1 線索二叉樹原理 151

5.4.2 線索二叉樹的結構實現 152

5.4.3 線索二叉樹的遍歷 154

5.5 樹、森林和二叉樹的轉換 156

5.5.1 樹轉換為二叉樹 157

5.5.2 森林轉換為二叉樹 157

5.5.3 二叉樹轉換為樹 158

5.5.4 二叉樹轉換為森林 158

5.5.5 樹和森林的遍歷 159

5.6 哈夫曼樹及其套用 159

5.6.1 最優二叉樹(哈夫曼樹)的定義 159

5.6.2 最優二叉樹(哈夫曼樹)的套用 160

5.6.3 最優二叉樹(哈夫曼樹)的創建 163

習題 171

第6章 圖 174

6.1 圖的基本概念 174

6.1.1 圖的定義和術語 174

6.1.2 圖的抽象數據類型定義 179

6.2 圖的存儲結構 181

6.2.1 鄰接矩陣表示法 181

6.2.2 鄰接表/逆鄰接表表示法 186

6.2.3 十字鍊表表示法 190

6.3 圖的遍歷 192

6.3.1 深度優先遍歷 193

6.3.2 廣度優先遍歷 199

6.4 最小生成樹 202

6.4.1 普里姆(Prim)算法 203

6.4.2 克魯斯卡爾(Kruskal)算法 209

6.5 有向無環圖及其套用 215

6.5.1 拓撲排序問題 215

6.5.2 關鍵路徑問題 219

6.6 最短路徑 224

習題 230

第7章 查找 233

7.1 查找表及其相關概念 233

7.2 順序表的查找 235

7.3 有序表的查找 237

7.4 索引表的查找 243

7.5 二叉排序樹 245

7.5.1 二叉排序樹的查找 246

7.5.2 二叉排序樹的插入和創建 248

7.5.3 二叉排序樹的刪除 250

7.5.4 二叉排序樹的總結 257

7.6 平衡二叉樹 257

7.6.1 平衡二叉樹實現原理 259

7.6.2 平衡二叉樹的實現代碼 264

7.7 哈希查找 271

7.7.1 哈希查找概述 271

7.7.2 哈希函式的構造方法 273

7.7.3 處理哈希衝突的方法 275

7.7.4 哈希查找的性能分析 279

習題 280

第8章 排序 282

8.1 排序概述 282

8.2 插入排序 282

8.2.1 直接插入排序 282

8.2.2 希爾排序 284

8.3 交換排序 286

8.3.1 冒泡排序 286

8.3.2 快速排序 288

8.4 選擇排序 290

8.4.1 簡單選擇排序 290

8.4.2 堆排序 292

8.5 歸併排序 297

8.6 基數排序 299

8.7 排序方法的總結 306

習題 306

熱門詞條

聯絡我們