本書詳細介紹了常用數據結構和算法的基本概念及其不同的實現方法,對各種數據結構,討論了在不同存儲結構上實現線性和非線性結構的不同運算,并對算法設計的方法和技巧進行了介紹。
第一部分 基本概念
第1章 數據結構基礎
1.1 問題求解分析
1.2 數據結構
1.3 數據結構的分類
1.4 數據的四種基本存儲方法
1.5 數據結構三方面的關系
習題
第2章 算法及算法分析基礎
2.1 算法的基本概念
2.2 算法的描述
2.3 算法分析方法
2.4 程序語言的基本語句與基本結構
2.5 數組與結構
2.6 抽象數據類型的表示與定義
習題
第二部分 簡單數據結構
第3章 線性表
3.1 線性表的定義
3.2 線性表的運算
3.3 線性表的順序存儲結構及實現
3.3.1 線性表的順序存儲結構
3.3.2 順序表的實現
3.4 線性表的鏈式存儲結構及實現
3.4.1 單鏈表
3.4.2 循環(huán)鏈袁
3.4.3 雙向鏈表
3.4.4 靜態(tài)鏈表
3.4.5 順序表和鏈表的比較
3.5 線性表的應用
習題
第4章 棧和隊列
4.1 棧
4.1.1 問題的提出
4.1.2 定義及其操作
4.1.3 棧的存儲結構及實現
4.1.4 棧的應用舉例:表達式求值
4.2 隊列
4.2.1 問題的提出
4.2.2 隊列的定義及操作
4.2.3 隊列的存儲結構及實現
4.2.4 隊列的應用舉例
習題
第5章 矩陣和廣義表
5.1 矩陣的存儲
5.2 特殊矩陣
5.3 稀疏矩陣
5.4 廣義表
習題
第三部分 復雜數據結構
第6章 二叉樹和樹
6.1 二叉樹的定義和性質
6.1.1 二叉樹的定義及相關術語
6.1.2 特殊二叉樹
6.1.3 二叉樹的性質
6.2 二叉樹的存儲結構
6.2.1 二叉樹的順序存儲表示
6.2.2 二叉樹的鏈式存儲表示
6.3 二叉樹的遍歷
6.3.1 問題的提出
6.3.2 二叉樹的遍歷算法
6.3.3 二叉樹遍歷的非遞歸實現
6.3.4 遍歷算法的應用
6.4 二叉樹的線索化
6.4.1 線索二叉樹的定義
6.4.2 線索二叉樹的結構
6.4.3 二叉樹的線索化算法
6.4.4 線索二叉樹基本操作的實現
6.5 二叉樹的應用——哈夫曼樹
第7章 圖
第8章 散列結構
第9章 集合結構
第四部分 算法與數據結構應用