第一章緒論
1.1什么是數據結構
1.1.1數據結構相關事例
1.1.2數據結構的定義
1.2數據結構的相關概念
1.2.1數據和信息
1.2.2數據元素
1.2.3結構類型
1.2.4靜態(tài)存儲空間分配和動態(tài)存儲空間分配
1.3數據類型、抽象數據類型和數據結構
1.4算法及算法分析、算法描述
1.4.1算法和程序
1.4.2程序性能和算法效率
1.4.3算法分析
1.4.4算法描述
習題一
第二章線性表
2.1線性表的定義
2.1.1線性表的邏輯結構
2.1.2線性表的抽象數據類型
2.2線性表的順序存儲及操作
2.2.1線性表順序存儲
2.2.2線性表順序存儲結構下的操作
2.3簡單鏈表存儲結構及操作
2.3.1簡單鏈表的存儲
2.3.2簡單鏈表的操作
2.4雙向鏈表
2.4.1雙向鏈表的存儲
2.4.2雙向鏈表的操作
2.5單向循環(huán)鏈表和雙向循環(huán)鏈表
2.5.1單向循環(huán)鏈表的存儲
2.5.2雙向循環(huán)鏈表的存儲
2.6模擬指針方式構造簡單鏈表
2.6.1模擬鏈表的存儲
2.6.2模擬鏈表的操作
2.7多重鏈表
2.8鏈表應用
2.8.1結點移至表首運算
2.8.2鏈表的逆向運算
2.8.3—多項式的相加運算
2.8.4十字鏈表結構的應用
2.8.5一個較復雜的機票售票系統(tǒng)的數據結構方案
習題二
第三章棧與隊列
3.1堆棧的定義
3.1.1堆棧的邏輯結構
3.1.2堆棧的抽象數據類型
3.2堆棧的順序存儲及操作
3.2.1堆棧順序存儲
3.2.2堆棧順序存儲結構下的操作
3.3堆棧的鏈式存儲及操作
3.3.1堆棧的鏈式存儲
3.3.2鏈式棧的操作
3.4多個棧共享鄰接空間
3.5堆棧的應用
3.5.1檢驗表達式中括號的匹配
3.5.2表達式的求值
3.5.3背包問題求解
3.5.4地圖四染色問題求解
3.6隊列的定義
3.6.1隊列的邏輯結構
3.6.2隊列的抽象數據類型
3。7隊列的順序存儲及操作
3.7.1隊列順序存儲
3.7.2隊列順序存儲結構下的操作
3.8隊列的鏈式存儲及操作
3.8.1隊列的鏈式存儲
3.8.2鏈式隊列的操作
3.9隊列的應用
3.9.1列車重排
3.9.2投資組合問題
習題三
第四章串
4.1串的定義
4.1.1串的邏輯結構
4.1.2串的抽象數據類型
4.2串的表示和實現
4.2.1串的靜態(tài)順序存儲結構
4.2.2串的動態(tài)順序存儲結構
4.2.3串的鏈式存儲結構
4.3串的模式匹配算法IndexStr(S1.S2.p)
4.3.1普通模式匹配算法IndexStr(S1,S2,p)
4.3.2改進的模式匹配算法KMPIndexSb(S1,S2,p)
習題四
第五章樹
5.1樹、森林的概念
5.1.1樹的定義
5.1.2樹的術語
5.2二叉樹定義及性質
5.2.1二叉樹的定義
5.2.2二叉樹的性質
5.2.3二叉樹的抽象數據類型
5.3二叉樹的存儲結構
5.3.1二叉樹的順序存儲概念
5.3.2二叉樹的鏈式存儲結構
5.4二叉樹鏈式存儲結構下的操作
5.4.1二叉樹的操作概念
5.4.2二叉樹的前序、中序、后序遍歷操作
5.4.3二叉樹的層次遍歷操作
5.4.4二叉樹的其他操作
5.5線索樹
5.5.1線索樹的概念
5.5.2二叉線索樹的操作
5.6一般樹的表示和遍歷
5.6.1一般樹的二叉鏈表示以及它與二叉樹的關系
5.6.2二叉樹、一般樹及森林的關系
5.6.3一般樹的遍歷概念
5.6.4一般樹的運算
5.7樹的應用
5.7.1分類二叉樹
5.7.2堆樹
5.7.3樹的路徑長度和哈夫曼樹(Huffman)
5.7.4判定樹
習題五
第六章圖
6.1圖的概念
6.1.1圖的定義
6.1.2圖的術語
6.1.3圖的抽象數據類型
6.2圖的存儲結構
6.2.1鄰接矩陣表示法
6.2.2鄰接表表示法
6.3圖的遍歷
6.3.1深度優(yōu)先搜索遍歷
6.3.2寬度優(yōu)先搜索遍歷
6.4最小生成樹
6.4.1生成樹
6.4.2最小代價生成樹
6.5最短路徑
6.5.1單源最短路徑
6.5.2任意兩個頂點之間的路徑
6.6拓撲排序
6.6.1AOV網
6.6.2拓撲排序
6.7關鍵路徑
6.7.1AOE的概念
6.7.2關鍵路徑的概念
6.7.3關鍵路徑的算法
習題六
第七章數組
7.1數組的定義
7.1.1數組的邏輯結構
7.1.2數組的抽象數據類型
7.2數組的順序表示及運算
7.2.1數組的順序存儲結構
7.2.2數組順序存儲結構描述
7.2.3數組順序存儲結構下的操作
7.3矩陣的存儲及操作
73.1矩陣的定義及操作
7.3.2矩陣的順序存儲
7.3.3特殊矩陣的壓縮存儲及操作
7.3.4稀疏矩陣的壓縮存儲及操作
習題七
第八章內部排序
8.1排序的基本概念
8.2待排序數據對象的存儲結構
8.3插入排序
8.3.1直接插入排序
8.3.2折半插入排序
8.3.3希爾排序
8.4交換排序
8.4.1冒泡排序
8.4.2快速排序
8.5選擇排序
8.5.1直接選擇排序
8.5.2堆排序
8.6歸并排序
8.7基數排序
8.7.1用二維數組表示桶
8.7.2用鏈式存儲結構實現桶
習題八
第九章查找
9.1查找的概念
9.2靜態(tài)查找技術
9.2.1順序查找
9.2.2二分查找
9.2.3分塊查找
9.3動態(tài)查找技術
9.3.1B-樹的定義和表示
9.3.2B-樹的查找
9.3.3B-樹的插入
9.3.4B-樹的刪除
9.4哈希表的查找
9.4.1基本概念
9.4.2構造哈希函數的方法
9.4.3哈希沖突的解決方法
9.4.4哈希表的查找
9.4.5哈希算法
習題九
第十章文件
10.1外部存儲設備
10.1.1磁帶
10.1.2磁盤
10.1.3光盤
10.1.4閃存
10.2基本概念+。
10,3順序文件
10.4索引文件
10.5索引順序文件
10.6直接存取文件
10.7倒排文件
習題十
附錄實踐內容及要求