第一章 緒論
1.1 數據結構的基本概念
1.2 庫算法和算法評價
1.2.1 算法
1.2.2 C語言的數據類型
1.2.3 算法評價
習題
第二章 線性表
2.1 線性表的基本概念
2.2 線性表的順序存儲結構及其算法
2.2.1 線性表的順序存儲結構
2.2.2 順序表的插入和刪除算法
2.3 線性表的鏈式存儲結構及其算法
2.3.1 約性表的鏈式存儲結構
2.3.2 循環(huán)鏈表
2.3.3 雙向鏈表
2.4 多項式相加
2.5 數組
2.5.1 數組的定義
2.5.2 數組的順序表示和實現(xiàn)
2.5.3 稀疏矩陣
習題二
第三章 檢和隊列
3.1 棧
3.1.1 踐的定義
3.1.2 棧的順序存儲結構及其運算
3.1.3 棧的鏈式存儲結構及其操作
3.2 棧的應用舉例
3.3 隊列
3.3.1 隊列的順序存儲結構及其運算
3.3.2 隊列的鏈式存儲結構及其操作
習題三
第四章 字符串
4.1 字符串的基本概念
4.2 字符率的存儲結構
4.2.1 字符串的順序存儲結構
4.2.2 字符串的鏈式存儲結構
4.3 字符率的運算
4.3.1 求串長度算法
4.3.2 插入子串算法
4.3.3 刪除子串算法
4.3.4 字符串替換算法
4.3.5 字符串連接算法
4.3.6 求子串算法
4.3.7 字符串的匹配算法
4.4 文本編輯
習題四
第五章 遞歸
5.1 遞歸
5.2 遞歸算法的應用
5.2.1 定義是遞歸的
5.2.2 數據結構是遞歸的
5.2.3 問題的解法是遞歸的
5.3 遞歸問題的非遞歸算法
習題五
第六章 樹
6.1 樹的基本概念
6.1.1 樹的定義
6.1.2 樹的存儲結構
6.2 二叉樹
6.2.1 二叉樹的定義
6.2.2 二叉樹的性質
6.2.3二叉樹的存儲結構
6.3 遍歷二叉樹和線索二叉樹
6.3.1 遍歷二叉樹
6.3.2 線索二叉樹
6.4 樹和森林
6.5 哈夫曼樹及應用
6.5.1 基本概念
6.5.2 構造哈夫曼樹
6.5.3 哈夫曼樹的應用
習題六
第七章 圖
7.1 圖的基本概念
7.1.1 圖的定義
7.1.2 基本術語
7.2 圖的存儲結構
7.2.1 鄰接矩陣
7.2.2 鄰接表
7.2.3 十字鏈表
7.3 圖的遍歷
7.3.1 深度優(yōu)先搜索
7.3.2 廣度優(yōu)先搜索
7.4 圖的連通性問題
7.4.1 克魯斯卡爾(Kruskal)算法
7.4.2 普里姆(Prim)算法
7.5 有向無環(huán)圖及其應用
7.5.1 拓撲排序
7.5.2 關鍵路徑
7.6 最短路徑
7.6.1 從某個源點到其余各個頂點之間的最短路徑
7.6.2 每一對頂點之間的最短路徑
習題七
第八章 查找
8.1 順序查找
8.2 二分法查找
8.3 分塊查找
8.4 HASH查找
8.4.1 散列函數
8.4.2 處理沖突的方法
8.5 樹表查找
8.5.1 二叉排序樹
8.5.2 平衡樹
習題八
第九章 排序
9.1 插入排序
9.1.1 約性插入排序
9.1.2 折半插入排序
9.1.3 希爾排序
9.2 交換排序
9.2.1 冒泡排序
9.2.2 快速排序
9.3 選擇排序
9.3.1 簡單選擇排序
9.3.2 難排序
9.4 歸并排序
9.5 基數排序
習題九
第十章 文件
10.1 文件的基本概念
10.1.1 文件的邏輯結構
10.1.2 文件的操作
10.1.3 文件的物理結構
10.2 順序文件
10.3 索引文件
10.3.1 ISAM文件
10.3.2 VSAM文件
10.4 直接存取文件
10.5 多重表文件
10.6 倒排文件
習題十
附錄A《數據結構》教學大綱
附錄B《數據結構》實驗指導書
主要參考文獻