數據結構——Java語言描述
牛小飛 李盛恩 湯曉兵
相關主題
商品描述
目錄大綱
目錄
基礎篇
第1章Java語言回顧
1.1類
1.1.1類與對象
1.1.2類的擴展
1.1.3嵌套類
1.2接口
1.2.1接口的實現
1.2.2接口的擴展
1.2.3常用的接口
1.3異常處理和常用的異常類
1.4泛型
1.4.1泛型類
1.4.2參數化類及其成員
1.4.3泛型類的靜態成員
1.4.4泛型接口和參數化接口
1.4.5泛型方法
1.4.6通配符、帶通配符的參數化類型和捕獲轉型
1.4.7參數化類型之間的子類型/超類型關系
1.4.8類型擦除、Raw類型及其成員
1.4.9泛型的實現
1.4.10具體化(Reifiable)類型和new表達式的語法
1.5數組
1.5.1泛型無關的數組
1.5.2泛型相關的數組
1.6引用類型的轉型
1.6.1寬化轉型和窄化轉型
1.6.2unchecked窄化轉型
小結
習題
第2章算法與算法分析
2.1算法
2.2算法分析
2.2.1時間復雜度模型
2.2.2漸進時間復雜度分析
2.2.3空間復雜度模型及分析
2.3程序性能測量
小結
習題
第3章數據結構
3.1數據結構的基本概念
3.2數據結構的描述
3.3抽象數據類型及實現
小結
習題
數據結構篇
第4章線性表
4.1線性表的基本概念
4.2線性表的數組描述
4.3線性表的鏈式描述
4.3.1單向鏈表
4.3.2帶頭結點的單向鏈表
4.3.3單向循環鏈表
4.3.4雙向鏈表
4.3.5鏈表的例題
4.4數組描述和鏈式描述的比較
小結
習題
第5章棧與隊列
5.1棧
5.1.1棧的數組描述
5.1.2棧的鏈式描述
5.2隊列
5.2.1隊列的數組描述
5.2.2隊列的鏈式描述
5.3雙端隊列
5.3.1雙端隊列的數組描述
5.3.2雙端隊列的鏈式描述
小結
習題
第6章樹與二叉樹
6.1樹
6.2二叉樹
6.3二叉樹的性質
6.4二叉樹的實現
6.4.1二叉樹的數組描述
6.4.2二叉樹的鏈式描述
6.5二叉樹的常用操作
6.5.1二叉樹的遍歷
6.5.2二叉樹的其他常用操作
6.6樹的遍歷
6.7樹的描述
小結
習題
綜合運用篇
第7章查找
7.1基本概念
7.2靜態查找
7.3動態查找
7.4二叉搜索樹
7.4.1二叉搜索樹的操作
7.4.2二叉搜索樹的實現
7.4.3二叉搜索樹的性能分析
7.5AVL樹
7.6紅黑樹
7.6.1自底向上的平衡操作
7.6.2自頂向下的平衡操作
7.7B樹
7.8哈希表
7.8.1哈希函數及沖突檢測
7.8.2基於分離鏈的哈希表的實現
小結
習題
第8章優先級隊列
8.1基本概念
8.2堆
8.3優先級隊列的實現
8.4最優二叉樹
8.4.1哈夫曼算法
8.4.2哈夫曼算法的實現
8.4.3哈夫曼編碼的實現
8.5偶堆
小結
習題
第9章排序
9.1基本概念
9.2直接插入排序
9.3快速排序
9.3.1單樞軸快速排序
9.3.2雙樞軸快速排序
9.4堆排序
9.5歸並排序
9.5.1直接歸並排序
9.5.2自然歸並排序
9.6基數排序
9.7計數排序
小結
習題
第10章圖
10.1圖的基本概念
10.2圖的描述
10.2.1鄰接矩陣
10.2.2鄰接表
10.3圖的實現
10.3.1基於鄰接矩陣的有向圖的實現
10.3.2基於鄰接表的有向圖的實現
10.3.3基於鄰接矩陣的帶權有向圖的實現
10.3.4基於鄰接表的帶權有向圖的實現
10.3.5基於鄰接矩陣的無向圖的實現
10.4圖的搜索與應用
10.4.1廣度優先搜索
10.4.2深度優先搜索
10.4.3連通圖及其連通分量
10.4.4邊數最少的路徑
10.4.5簡單路徑
10.4.6拓撲排序
10.5最短路徑
10.5.1BellmanFord算法
10.5.2支持decrease操作的優先級隊列
10.5.3Dijkstra算法
10.6最小生成樹
10.6.1Prim算法
10.6.2不相交集合
10.6.3Kruskal算法
10.7圖的其他描述
10.7.1十字鏈表
10.7.2鄰接多重表
小結
習題
參考文獻