序前言教學建議**部分概論部分第1章數(shù)據(jù)結構 1.1什么是數(shù)據(jù) 1.2什么是數(shù)據(jù)結構 1.2.1數(shù)據(jù)的邏輯結構 1.2.2數(shù)據(jù)的存儲結構 1.2.3數(shù)據(jù)的運算 1.3什么是數(shù)據(jù)類型 1.4什么是抽象數(shù)據(jù)類型 1.5知識點小結 習題 第2章算法 2.1什么是算法 2.2算法的描述 2.3算法的性能分析 2.3.1時間復雜度 2.3.2漸近符號 2.3.3空間復雜度 2.3.4復雜度分析舉例 2.4算法的性能度量 2.4.1性能度量的方法 2.4.2生成測試數(shù)據(jù) 2.5知識點小結 習題 第二部分線性部分第3章線性表 3.1線性表抽象數(shù)據(jù)類型 3.1.1線性表的邏輯結構 3.1.2線性表的基本運算 3.1.3線性表的adt描述 3.2線性表的應用——兩個一元多項式相加 3.2.1問題描述與分析 3.2.2問題求解 3.3線性表的實現(xiàn) 3.3.1順序表 3.3.2單鏈表 3.3.3靜態(tài)單鏈表 3.3.4 -元多項式相加問題的求解實現(xiàn)3.4線性表的其他實現(xiàn)及應用場景分析 一3.4.1雙(向)鏈表 3.4.2循環(huán)單(向)鏈表 3.4.3循環(huán)雙(向)鏈表 3.5知識點小結 習題 第4章棧 4.1棧抽象數(shù)據(jù)類型 4.1.1棧的邏輯結構 4.1.2棧的基本運算 4.1.3棧的adt描述4.2棧的應用——表達式求解 4.2.1問題描述與分析 4.2.2問題求解 4.3棧的實現(xiàn) -4.3.1順序棧 4.3.2鏈棧 4.3.3在表達式求解問題上的性能分析與比較 4.4順序棧的一種有趣實現(xiàn)——兩個方向生長的棧 ’4.5棧與遞歸的天然聯(lián)系 一4.6知識點小結 一習題 第5章隊列 5.1隊列抽象數(shù)據(jù)類型 一5.1.1隊列的邏輯結構 一5.1.2隊列的基本運算 一5.1.3隊列的adt描述 5.2 隊列的應用-模擬舞伴配對問題 5.2.1問題描述與分析 5.2.2問題求解 5.3隊列的實現(xiàn) 5.3.1順序隊列 5.3.2循環(huán)隊列 5.3.3鏈隊列 5.4雙端隊列及隊列應用場景舉例 5.4.1雙端隊列 5.4.2隊列應用場景舉例 5.5知識點小結 習題 第6章串 6.1串抽象數(shù)據(jù)類型 6.1.1 串的邏輯結構6.1.2串的基本運算6.1.3 串的adt描述6.2串的實現(xiàn) 6.2.1 串的順序存儲表示 6.2.2串的堆分配存儲表示 6.2.3串的塊鏈存儲表示 6.3串的模式匹配 6.3.1樸素的模式匹配算法 6.3.2 kmp算法 6.4知識點小結 習題 第7章數(shù)組及廣義表7.1數(shù)組的類型定義 7.1.1數(shù)組的定義 7.1.2數(shù)組的性質 7.1.3數(shù)組的基本運算 7.2多維數(shù)組的線性存儲方法 7.3特殊矩陣的壓縮存儲 7.3.1特殊形狀矩陣的壓縮存儲 7.3.2隨機稀疏矩陣的壓縮存儲及其運算 7.4廣義表 7.4.1廣義表的基本概念 7.4.2廣義表的性質7.4.3廣義表的基本運算 7.4.4廣義表的存儲結構 7.5知識點小結 習題 第三部分非線性部分第8章樹與森林 8.1認識樹 8.1.1 (根)樹的定義 8.1.2基本術語 8.1.3樹的基本運算 8.2樹的實現(xiàn) 8.2.1需要解決的關鍵問題 8.2.2關鍵問題的求解思路 8.2.3樹的存儲結構 8.2.4存儲方案的比較分析 8.3樹的創(chuàng)建 8.3.1問題描述與分析 8.3.2問題求解 8.4樹的遍歷 8.4.1問題描述與分析 8.4.2問題求解 8.5樹的應用 8.5.1并查集 8.5.2等價類 8.5.3決策樹 8.6森林 8.7知識點小結 習題 第9章二叉樹9.1認識二叉樹 9.1.1二叉樹的定義 9.1.2二叉樹的基本運算 9.1.3二叉樹的性質 9.2二叉樹的實現(xiàn) 9.2.1需要解決的關鍵問題 9.2.2關鍵問題的求解思路 9.2.3二叉樹的存儲結構 9.2.4方案的比較分析 9.3二叉樹的創(chuàng)建 9.3.1問題描述與分析 9.3.2問題求解 9.4二叉樹的遍歷 9.4.1問題描述與分析 9.4.2問題求解 9.4.3二叉樹遍歷應用舉例 9.5線索二叉樹 9.5.1線索二叉樹的應用需求 9.5.2二叉樹的線索化 9.5.3線索二叉樹上的運算 9.6二叉樹的應用 9.6.1哈夫曼樹及其應用 9.6.2二叉排序樹及其應用 9.6.3平衡二叉樹 9.7樹、森林與二叉樹的關系 9.7.1樹、森林與二叉樹的相互轉換 9.7.2樹、森林與二叉樹在遍歷運算上的關系 9.8知識點小結 習題 第10章圖 10.1認識圖 10.1.1圖的定義 10.1.2基本術語 10.1.3圖的基本運算10.2圖的實現(xiàn)10.2.1需要解決的關鍵問題 10.2.2關鍵問題的求解思路 10.2.3圖的存儲結構 10.2.4存儲方案的比較分析 10.3圖的創(chuàng)建10.3.1問題描述與分析 10.3.2問題求解 10.4圖的遍歷10.4.1問題描述與分析 10.4.2深度優(yōu)先搜索遍歷 10.4.3廣度優(yōu)先搜索遍歷 10.4.4圖遍歷的應用 10.5生成樹 10.5.1連通圖的生成樹 10.5.2連通網(wǎng)的*小生成樹 10.6*短路徑10.6.1單源*短路徑 10.6.2每對頂點間的*短路徑 10.6.3*短路徑應用舉例 10.7有向無環(huán)圖及其應用 10.7.1 aov網(wǎng)與拓撲排序 10.7.2 aoe網(wǎng)與關鍵路徑 10.8知識點小結 習題 第四部分重要運算部分第1 1章查找 11.1查找的基本概念 11.2靜態(tài)查找11.2.1順序查找 11.2.2二分查找 11.2.3分塊查找 11.3動態(tài)查找11.4散列技術11.4.1散列表的概念 11.4.2散列函數(shù)的構造方法 11.4.3處理沖突的方法 11.4.4散列表的查找 11.4.5散列表的應用 11.5知識點小結 習題 第12章排序 12.1排序的基本概念 12.2插入排序12.2.1直接插入排序 12.2.2希爾排序 12.3交換排序12.3.1冒泡排序 12.3.2快速排序 12.4選擇排序12.4.1直接選擇排序12.4.2樹形選擇排序12.4.3堆排序 12.5歸并排序12.5.1 (內部)歸并排序 12.5.2外部歸并排序12.6分配排序12.6.1箱排序 12.6.2基數(shù)排序 12.7各種(內部)排序方法的比較12.8知識點小結 習題 參考文獻