第1章 引論
1.1 算法及其復雜性的概念
1.1.1 算法與程序
1.1.2 算法復雜性的概念
1.1.3 算法復雜性的漸近性態(tài)
1.2 算法的表達與數據表示
1.2.1 問題求解
1.2.2 表達算法的抽象機制
1.3 抽象數據類型
1.3.1 抽象數據類型的基本概念
1.3.2 使用抽象數據類型的好處
1.4 數據結構、數據類型和抽象數據類型
1.5 用C語言描述數據結構與算法
1.5.1 變量和指針
1.5.2 函數與參數傳遞
1.5.3 結構
1.5.4 動態(tài)存儲分配
1.6 遞歸
1.6.1 遞歸的基本概念
1.6.2 間接遞歸
本章小結
習題1
算法實驗1
算法實驗題1.1 哥德巴赫猜想問題
算法實驗題1.2 連續(xù)整數和問題
第2章 表
2.1 表的基本概念
2.2 用數組實現表
2.3 用指針實現表
2.4 用間接尋址方法實現表
2.5 用游標實現表
2.6 循環(huán)鏈表
2.7 雙鏈表
2.8 表的搜索游標
2.8.1 用數組實現表的搜索游標
2.8.2 單循環(huán)鏈表的搜索游標
2.9 應用舉例——Josephus排列問題
本章小結
習題2
算法實驗2
算法實驗題2.1 向量分類問題
算法實驗題2.2 條形圖輪廓問題
第3章 棧
3.1 棧的基本概念
3.2 用數組實現棧
3.3 用指針實現棧
3.4 應用舉例——等價類劃分問題
本章小結
習題3
算法實驗3
算法實驗題3.1 車皮編序問題
算法實驗題3.2 單柱Hanoi塔問題
算法實驗題3.3 多棧模擬問題
算法實驗題3.4 親兄弟問題
第4章 隊列
4.1 隊列的基本概念
4.2 用指針實現隊列
4.3 用循環(huán)數組實現隊列
4.4 應用舉例——電路布線問題
本章小結
習題4
算法實驗4
算法實驗題4.1 組隊列問題
算法實驗題4.2 雙棧隊列問題
算法實驗題4.3 猴子分桃問題
算法實驗題4.4 逆序表問題
第5章 排序與選擇
5.1 簡單排序算法
5.1.1 冒泡排序
5.1.2 插入排序
5.1.3 選擇排序
5.1.4 簡單排序算法的計算復雜性
5.2 快速排序算法
5.2.1 算法基本思想及實現
5.2.2 算法的性能
5.2.3 隨機快速排序算法
5.2.4 非遞歸快速排序算法
……
第6章 樹
第7章 圖
第8章 集合
第9章 符號表
第10章 字典
第11章 優(yōu)先隊列
第12章 并查集
參考文獻