第一章 緒論
1.1 數據結構的基本概念
1.2 算法的概念與描述
1.3 小結
第二章 C語言中的數據類型
2.1 C語言中數據的存儲表示
2.1.1 位
2.1.2 字節(jié)
2.1.3 二進制編碼的十進制數
2.1.4 美國標準信息交換碼
2.2 基本數據類型
2.2.1 字符
2.2.2 字符串
2.2.3 整數
2.2.4 實數
2.2.5 基于基本數據類型的操作
2.3 派生數據類型
2.3.1 數組
2.3.2 多維數組
2.3.3 指針
2.4 復合數據類型
2.4.1 結構
2.4.2 聯合
2.5 小結
第三章 線性表
3.1 線性表的定義
3.2 線性表的順序存儲結構運算
3.3 線性表的鏈式存儲結構及其運算
3.3.1 線性鏈表
3.3.2 雙向鏈表
3.3.3 循環(huán)鏈表
3.4 串
3.4.1 串的基本概念
3,4.2 串的存儲及運算
3.4.3 串的應用
3.5 線性表的應用
3.6 小結
3.7 習題
第四章 棧和隊列
4.1 棧
4.1.1 棧的順序存儲結構
4.1.2 棧的鏈式存儲結構
4.2 棧的應用
4.2.1 函數調用與棧
4.2.2 迷宮求解
4.3 隊列
4.3.1 隊列的順序存儲結構
4.3.2 隊列的鏈式存儲結構
4.4 隊列的應用
4.5 小結
4.6 習題
第五章 樹
5.1 樹的基本概念
5.2 樹的存儲表示
5.2.1 雙親表示法
5.2.2 孩子表示法
5.2.3 孩子兄弟表示法
5.3 二叉樹
5.3.1 二叉樹的定義
5.3.2 二叉樹的性質
5.3.3 二叉樹的存儲表示
5.4 二叉樹的遍歷
5.4.1 遍歷的遞歸過程
5.4.2 遍歷的非遞歸過程
5.4.3 遍歷的性質
5.5 線索二叉樹
5.6 樹與二叉樹的轉換
5.6.1 樹與二叉樹的轉換
5.6.2 森林與二叉樹的轉換
5.6.3 樹與森林的遍歷
5.7 赫夫曼樹
5.7.1 最優(yōu)二叉樹
5.7.2 前綴編碼
5.7.3 赫夫曼編碼
5.8 小結
5.9 習題
第六章 圖
6.1 圖的數學基礎與基本概念
6.2 圖的存儲表示
6.2.1 鄰接矩陣
6.2.2 鄰接表
6.2.3 十字鏈表
6.2.4 鄰接多重表
6.3 圖的遍歷
6.3.1 寬度優(yōu)先遍歷
6.3.2 深度優(yōu)先遍歷
6.4 圖的連通性
6.4.1 無向圖的連通分量
6.4.2 無向圖的生成樹
6.4.3 最小生成樹
6.5 圖的最短路徑
6.6 小結
6.7 習題
第七章 查找
7.1 靜態(tài)查找
7.1.1 順序查找
7.1.2 二分查找
7.1.3 分塊查找
7.2 動態(tài)查找
7.2.1 二叉排序樹查找
7.2.2 散列表查找
7.3 小結
7.4 習題
第八章 排序
8.1 選擇排序
8.1.1 簡單選擇排序
8.1.2 堆排序
8.2 插入排序
8.2.1 直接插入排序
8.2.2 二分插入排序
8.2.3 希爾排序
8.3 交換排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4 歸并排序
8.5 小結
8.6 習題
第九章 文件
9.1 文件的結構
9.1.1 文件的邏輯結構
9.1.2 文件的物理結構
9.2 文件的目錄
9.2.1 -級目錄結構
9.2.2 二級目錄結構
9.2.3 多級目錄結構
9.3 文件的訪問
9.3.1 順序文件
9.3.2 隨機文件
9.4 小結
9.5 習題