第一部分 預備知識
第1章 數據結構和算法
1.1 數據結構的原則
1.2 抽象數據類型和數據結構
1.3 問題、算法和程序
1.4 深入學習導讀
1.5 習題
第2章 數學預備知識
2.1 集合和關系
2.2 常用數學術語
2.3 對數
2.4 遞歸
2.5 級數求和與遞歸
2.6 數學證明方法
2.7 評估
2.8 深入學習導讀
2.9 習題
第3章 算法分析
3.1 概述
3.2 最佳、最差和平均情況
3.3 換一臺更快的計算機,還是換一種更快的算法
3.4 漸近分析
3.5 程序運行時間的計算
3.6 問題的分析
3.7 容易混淆的概念
3.8 多參數問題
3.9 空間代價
3.10 實際操作中的一些因素
3.11 深入學習導讀
3.12 習題
3.13 項目設計
第二部分 基本數據結構
第4章 線性表、棧和隊列
4.1 線性表
4.2 字典ADT
4.3 棧
4.4 隊列
4.5 深入學習導讀
4.6 習題
4.7 項目設計
第5章 二叉樹
5.1 定義及主要特性
5.2 周游二叉樹
5.3 二叉樹的實現(xiàn)
5.4 二叉查找樹
5.5 堆與優(yōu)先隊列
5.6 Huffman編碼樹
5.7 深入學習導讀
5.8 習題
5.9 項目設計
第6章 樹
6.1 樹的定義與術語
6.2 父指針表示法
6.3 樹的實現(xiàn)
6.4 K叉樹
6.5 樹的順序表示法
6.6 深入學習導讀
6.7 習題
6.8 項目設計
第三部分 排序和檢索
第7章 內排序
第8章 文件管理和外排序
第9章 檢索
第10章 索引技術
第四部分 應用與高級話題
第11章 圖
第12章 線性表和數組高級技術
第13章 高級樹形結構
第14章 分析技術
第15章 計算的限制
附錄A 實用函數
參考文獻