數據結構與演演算法

龔丹、梁興柱編著書籍

《數據結構與演演算法》是2010年清華大學出版社出版的圖書,作者是龔丹、梁興柱。

內容簡介


本書為高等學校計算機科學與技術及相關專業“數據結構與演演算法”課程的教材。全書共分12章,較為系統地闡述了數據結構與演演算法的核心知識單元,包括基本數據結構、遞歸、數據類型和數據抽象、面向對象的程序設計、演演算法分析的基本方法和基本計算演演算法以及常用的演演算法設計策略等。本書內容翔實、語言生動,注重理論敘述的完整性,更強調應用與實踐,是培養應用型人才的院校,或希望較快速地理解和掌握數據結構與演演算法相關實用知識並加以運用的學習者理想的教材形式。書中所有演演算法都有完整的C++程序,結構清晰、構思精巧,並在VC++6.0環境下編譯及正確運行,既有助於讀者更好地理解數據結構與演演算法的理論知識點,同時,又能充分地訓練程序設計的能力。

圖書目錄


第1章概述
1.1數據結構的基本概念
1.1.1數據結構概念的提出
1.1.2數據結構中的常用術語
1.2問題抽象與抽象數據類型
1.2.1抽象——成功設計的基石
1.2.2抽象數據類型的表示和實現
1.3演演算法的基本概念
1.3.1演演算法及演演算法設計的要求
1.3.2演演算法效率的分析和量度
1.4C++語言要點介紹
1.4.1數組和指針
1.4.2類
1.4.3函數及函數重載
1.4.4模板
1.4.5其他自建類型的方法
1.5小結
習題
第2章線性結構
2.1線性表的類型定義
2.1.1線性表的邏輯特性
2.1.2線性表的ADT定義
2.2線性表的順序存儲表示
2.2.1順序表
2.2.2線性表的其他順序存儲表示
2.3線性表的鏈式存儲
2.3.1單鏈表
2.3.2線性表的其他鏈式存儲表示
2.4線性表不同存儲表示方法的對比
2.5集合運算的模擬
2.5.1問題描述與演演算法分析
2.5.2演演算法實現
2.6小結
習題
第3章串與文本編輯
3.1串的類型定義
3.2串的存儲表示
3.2.1串的順序存儲
3.2.2串的鏈式存儲
3.3串的模式匹配演演算法
3.4文本編輯
3.4.1問題描述與演演算法分析
3.4.2演演算法實現
3.5小結
習題
第4章棧與遞歸
4.1棧的類型定義
4.1.1棧的邏輯特徵
4.1.2棧的ADT定義
4.2棧的存儲表示
4.2.1棧的順序存儲
4.2.2棧的鏈式存儲
4.3遞歸問題
4.3.1n!
4.3.2迷宮問題
4.4小結
習題
第5章隊列與離散事件模擬
5.1隊列的類型定義
5.1.1隊列的邏輯特性
5.1.2隊列的ADT定義
5.2隊列的存儲表示
5.2.1隊列的順序存儲
5.2.2隊列的鏈式存儲
5.3離散事件模擬
5.3.1問題描述與演演算法分析
5.3.2演演算法實現
5.4小結
習題
第6章數組與矩陣壓縮
6.1數組的類型定義
6.1.1數組的邏輯特性
6.1.2數組的ADT定義
6.2數組的存儲表示
6.3矩陣壓縮
6.3.1特殊矩陣的壓縮存儲
6.3.2稀疏矩陣的壓縮存儲
6.4小結
習題
第7章廣義線性表
7.1廣義表的類型定義
7.1.1廣義表的邏輯特性
7.1.2廣義表的ADT定義
7.2廣義表的存儲表示
7.2.1頭尾表示法
7.2.2孩子兄弟表示法
7.3多級管理機構問題
7.3.1問題描述與演演算法分析
7.3.2演演算法實現
7.4小結
習題
第8章樹型結構及其應用
8.1基本概念和術語
8.1.1樹
8.1.2樹的ADT定義
8.2二叉樹
8.2.1二叉樹的概念及特性
8.2.2二叉樹的存儲表示
8.2.3遍歷二叉樹
8.2.4二叉樹的線索化
8.3樹和森林
8.3.1樹的存儲表示
8.3.2樹與二叉樹的轉換
8.3.3樹和森林的遍歷
8.4表達式求值問題
8.4.1問題描述與演演算法分析
8.4.2演演算法實現
8.5哈夫曼樹
8.5.1最優二叉樹
8.5.2哈夫曼樹的存儲表示
8.5.3哈夫曼編碼問題
8.6小結
習題
第9章圖型結構及其應用
9.1圖的類型定義
9.1.1圖的邏輯特性
9.1.2圖型結構中的基本概念和術語
9.1.3圖的ADT定義
9.2圖的存儲表示
9.2.1數組表示法
9.2.2鄰接表表示法
9.2.3十字鏈表表示法
9.3圖的遍歷
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.7小結
習題
第10章查找
10.1基本概念和術語
10.2靜態查找表
10.2.1簡單順序查找表
10.2.2有序表的查找
10.2.3索引順序表的查找
10.2.4靜態樹表查找
10.3動態查找表
10.3.1二叉排序樹和平衡二叉樹
10.3.2B樹
10.3.3B+樹
10.4哈希查找表
10.4.1哈希表及散列存儲
10.4.2哈希表的構造
10.4.3哈希表的查找
10.5小結
習題
第11章內部排序
11.1基本概念和術語
11.2插入排序
11.2.1直接插入排序
11.2.2希爾排序
11.3交換排序
11.3.1冒泡排序
11.3.2快速排序
11.4選擇排序
11.4.1簡單選擇排序
11.4.2樹型選擇排序
11.4.3堆排序
11.5歸併排序
11.6基數排序
11.7小結
習題
第12章經典演演算法與實例分析
12.1STL基礎知識
12.1.1STL與泛型編程
12.1.2STL的部件
12.1.3各部件的協同工作
12.1.4STL部件的應用
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.5小結
習題
參考文獻