數據結構與算法——Java語言描述
李小蓮、楊澤、薑全坤、翟允賽
相關主題
商品描述
目錄大綱
目錄
第1章緒論
1.1數據結構的基本概念
1.1.1數據與數據結構
1.1.2數據的邏輯結構
1.1.3數據的存儲結構
1.1.4數據的運算
1.2數據類型
1.2.1基本數據類型
1.2.2抽象數據類型
1.2.3泛型
1.3算法及算法分析
1.3.1算法基礎
1.3.2算法分析
1.4應用案例
習題
第2章線性表
2.1線性表及其基本操作
2.1.1線性表的邏輯結構
2.1.2線性表的抽象數據類型描述
2.2線性表的順序存儲結構
2.2.1基本概念
2.2.2順序表
2.2.3應用案例
2.3線性表的鏈式存儲結構
2.3.1單鏈表
2.3.2循環單鏈表
2.3.3雙向鏈表
2.3.4雙向循環鏈表
2.4線性表的應用
習題
目錄
數據結構與算法——Java語言描述
第3章棧與隊列
3.1棧
3.1.1棧的基本概念
3.1.2棧的順序存儲結構
3.1.3棧的鏈式存儲結構
3.2棧的應用
3.2.1數制轉換
3.2.2棧在括號匹配問題中的應用
3.2.3漢諾塔問題
3.3隊列
3.3.1隊列的基本概念
3.3.2隊列的順序存儲
3.3.3鏈隊列
3.4隊列的應用
3.4.1迴文判定
3.4.2打印楊輝三角
習題
第4章串
4.1串類型的基本概念
4.1.1串的基本定義
4.1.2串的抽象數據類型
4.2串的存儲結構與定義
4.2.1串的順序存儲結構
4.2.2串的鏈式存儲結構
4.3Java 字符串
4.3.1String字符串
4.3.2StringBuffer字符串
4.4字符串模式匹配算法
4.4.1BruteForce模式匹配算法
4.4.2KMP字符串模式匹配算法
習題
第5章數組
5.1數組概述
5.1.1數組的基本概念
5.1.2數組的存儲
5.1.3Java語言的二維數組
5.2矩陣
5.2.1矩陣的定義和操作
5.2.2特殊矩陣的壓縮存儲
5.2.3稀疏矩陣的壓縮存儲
5.3廣義表
5.3.1基本概念
5.3.2廣義表的存儲結構
5.4數組應用實例
習題
第6章樹與二叉樹
6.1樹
6.1.1樹的定義
6.1.2樹的基本術語
6.2二叉樹
6.2.1二叉樹的定義
6.2.2二叉樹的性質
6.3二叉樹的存儲方式
6.3.1二叉樹的順序存儲
6.3.2二叉樹的鏈式存儲
6.4二叉樹的遍歷
6.4.1二叉樹遍歷的定義
6.4.2二叉樹的先序遍歷
6.4.3二叉樹的中序遍歷
6.4.4二叉樹的後序遍歷
6.4.5二叉樹的層次遍歷
6.4.6二叉樹遍歷的應用
6.4.7二叉樹的創建
6.5樹和森林
6.5.1樹的存儲表示
6.5.2樹和森林的遍歷
6.5.3樹、森林與二叉樹之間的相互轉換
6.6哈夫曼樹及哈夫曼編碼
6.6.1哈夫曼樹的基本概念
6.6.2哈夫曼樹的構造
6.6.3哈夫曼編碼
6.6.4構造哈夫曼樹和哈夫曼編碼的類的描述
6.7綜合應用實例
習題
第7章圖
7.1圖概述
7.1.1圖的基本概念
7.1.2圖的抽象數據類型描述
7.2圖的存儲表示
7.2.1鄰接矩陣
7.2.2鄰接表
7.3圖的遍歷
7.3.1廣度優先搜索
7.3.2深度優先搜索
7.4最小生成樹
7.4.1最小生成樹的基本概念
7.4.2克魯斯卡爾算法
7.4.3普里姆算法
7.5最短路徑
7.5.1單源最短路徑問題
7.5.2任意兩點最短路徑問題
7.6拓撲排序
7.6.1拓撲排序的基本概念
7.6.2拓撲排序的算法描述
7.7關鍵路徑
7.8應用案例
習題
第8章查找
8.1查找的基本概念
8.2線性表查找
8.2.1順序查找
8.2.2二分查找
8.2.3分塊查找
8.3樹表查找
8.3.1二叉排序樹
8.3.2平衡二叉樹
8.4哈希表查找
8.4.1哈希表的概念
8.4.2構造哈希函數的方法
8.4.3處理沖突的方法
8.4.4哈希表的查找及性能分析
8.5應用案例
習題
第9章排序
9.1概述
9.1.1排序的定義
9.1.2排序算法的分類
9.1.3比較排序算法的性能分析
9.2插入排序
9.2.1直接插入排序
9.2.2希爾排序
9.3交換排序
9.3.1冒泡排序
9.3.2快速排序
9.4選擇排序
9.4.1簡單選擇排序
9.4.2堆排序
9.5歸並排序
9.6各種內部排序方法討論
9.7綜合應用實例
習題
參考文獻