《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言版)是為“數(shù)據(jù)結(jié)構(gòu)”課程編寫的教材,也可作為學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)及其算法的C程序設(shè)計(jì)的參數(shù)教材。學(xué)了數(shù)據(jù)結(jié)構(gòu)后,許多以前寫起來(lái)很繁雜的代碼現(xiàn)在寫起來(lái)很清晰明了.
本書的前半部分從抽象數(shù)據(jù)類型的角度討論各種基本類型的數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用;后半部分主要討論查找和排序的各種實(shí)現(xiàn)方法及其綜合分析比較。
全書采用類C語(yǔ)言作為數(shù)據(jù)結(jié)構(gòu)和算法的描述語(yǔ)言。
本書概念表述嚴(yán)謹(jǐn),邏輯推理嚴(yán)密,語(yǔ)言精煉,用詞達(dá)意,并有配套出版的《數(shù)據(jù)結(jié)構(gòu)題集》(C語(yǔ)言版),便于教學(xué),又便于自學(xué)。
本書后附有光盤。光盤內(nèi)容可在DOS環(huán)境下運(yùn)行的以類C語(yǔ)言描述的“數(shù)據(jù)結(jié)構(gòu)算法動(dòng)態(tài)模擬輔助教學(xué)軟件,以及在Windows環(huán)境下運(yùn)行的以類PASCAL或類C兩種語(yǔ)言描述的“數(shù)據(jù)結(jié)構(gòu)算法動(dòng)態(tài)模擬輔助教學(xué)軟件”。內(nèi)附
數(shù)據(jù)結(jié)構(gòu)算法實(shí)現(xiàn)(嚴(yán)蔚敏版配套實(shí)現(xiàn)程序)
目錄:
第1章 緒論
1.1 什么是數(shù)據(jù)結(jié)構(gòu)
1.2 基本概念和術(shù)語(yǔ)
1.3 抽象數(shù)據(jù)類型的表現(xiàn)與實(shí)現(xiàn)
1.4 算法和算法分析
第2章 線性表
2.1 線性表的類型定義
2.2 線性表的順序表示和實(shí)現(xiàn)
2.3 線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)
2.4 一元多項(xiàng)式的表示及相加
第3章 棧和隊(duì)列
3.1 棧
3.2 棧的應(yīng)有和舉例
3.3 棧與遞歸的實(shí)現(xiàn)
3.4 隊(duì)列
3.5 離散事件模擬
第4章 串
4.1 串類型的定義
4.2 串的表示和實(shí)現(xiàn)
4.3 串的模式匹配算法
4.4 串操作應(yīng)用舉例
第5章 數(shù)組和廣義表
5.1 數(shù)組的定義
5.2 數(shù)組的順序表現(xiàn)和實(shí)現(xiàn)
5.3 矩陣的壓縮存儲(chǔ)
5.4 廣義表的定義
5.5 廣義表的儲(chǔ)存結(jié)構(gòu)
5.6 m元多項(xiàng)式的表示
5.7 廣義表的遞歸算法第6章 樹和二叉樹
6.1 樹的定義和基本術(shù)語(yǔ)
6.2 二叉樹
6.2.1 二叉樹的定義
6.2.2 二叉樹的性質(zhì)
6.2.3 二叉樹的存儲(chǔ)結(jié)構(gòu)
6.3 遍歷二叉樹和線索二叉樹
6.3.1 遍歷二叉樹
6.3.2 線索二叉樹
6.4 樹和森林
6.4.1 樹的存儲(chǔ)結(jié)構(gòu)
6.4.2 森林與二叉樹的轉(zhuǎn)換
6.4.3 樹和森林的遍歷
6.5 樹與等價(jià)問(wèn)題
6.6 赫夫曼樹及其應(yīng)用
6.6.1 最優(yōu)二叉樹(赫夫曼樹)
6.6.2 赫夫曼編碼
6.7 回溯法與樹的遍歷
6.8 樹的計(jì)數(shù)
第7章 圖
7.1 圖的定義和術(shù)語(yǔ)
7.2 圖的存儲(chǔ)結(jié)構(gòu)
7.2.1 數(shù)組表示法
7.2.2 鄰接表
7.2.3 十字鏈表
7.2.4 鄰接多重表
7.3 圖的遍歷
7.3.1 深度優(yōu)先搜索
7.3.2 廣度優(yōu)先搜索
7.4 圖的連通性問(wèn)題
7.4.1 無(wú)向圖的連通分量和生成樹
7.4.2 有向圖的強(qiáng)連通分量
7.4.3 最小生成樹
7.4.4 關(guān)節(jié)點(diǎn)和重連通分量
7.5 有向無(wú)環(huán)圖及其應(yīng)用
7.5.1 拓?fù)渑判?br/>7.5.2 關(guān)鍵路徑
7.6 最短路徑
7.6.1 從某個(gè)源點(diǎn)到其余各頂點(diǎn)的最短路徑
7.6.2 每一對(duì)頂點(diǎn)之間的最短路徑
第8章 動(dòng)態(tài)存儲(chǔ)管理
8.1 概述
8.2 可利用空間表及分配方法
8.3 邊界標(biāo)識(shí)法
8.3.1 可利用空間表的結(jié)構(gòu)
8.3.2 分配算法
8.3.3 回收算法
8.4 伙伴系統(tǒng)
8.4.1 可利用空間表的結(jié)構(gòu)
8.4.2 分配算法
8.4.3 回收算法
8.5 無(wú)用單元收集
8.6 存儲(chǔ)緊縮
第9章 查找
9.1 靜態(tài)查找表
9.1.1 順序表的查找
9.1.2 有序表的查找
9.1.3 靜態(tài)樹表的查找
9.1.4 索引順序表的查找
9.2 動(dòng)態(tài)查找表
9.2.1 二叉排序樹和平衡二叉樹
9.2.2 B樹和B+樹
9.2.3 鍵樹
9.3 哈希表
9.3.1 什么是哈希表
9.3.2 哈希函數(shù)的構(gòu)造方法
9.3.3 處理沖突的方法
9.3.4 哈希表的查找及其分析
第10章 內(nèi)部排序
10.1 概述
10.2 插入排序
10.2.1 直接插入排序
10.2.2 其他插入排序
10.2.3 希爾排序
10.3 快速排序
10.4 選擇排序
10.4.1 簡(jiǎn)單選擇排序
10.4.2 樹形選擇排序
10.4.3 堆排序
10.5 歸并排序
10.6 基數(shù)排序
10.6.1 多關(guān)鍵字的排序
10.6.2 鏈?zhǔn)交鶖?shù)排序
10.7 各種內(nèi)部排序方法的比較討論
第11章 外部排序
11.1 外存信息的存取
11.2 外部排序的方法
11.3 多路平衡歸并的實(shí)現(xiàn)
11.4 置換一選擇排序
11.5 最佳歸并樹
第12章 文件
12.1 有關(guān)文件的基本概念
12.2 順序文件
12.3 索引文件
12.4 ISAM文件和VSAM文件
12.4.1 ISAM文件
12.4.2 VSAM文件
12.5 直接存取文件(散列文件)
12.6 多關(guān)鍵字文件
12.6.1 多重表文件
12.6.2 倒排文件
附錄A 名詞索引
附錄B 函數(shù)索引
參考書目