數據結構——Java語言描述

牛小飛 李盛恩 湯曉兵

  • 出版商: 清華大學
  • 出版日期: 2023-09-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • ISBN: 7302641552
  • ISBN-13: 9787302641551
  • 相關分類: Java 程式語言
  • 下單後立即進貨 (約4週~6週)

  • 數據結構——Java語言描述-preview-1
  • 數據結構——Java語言描述-preview-2
  • 數據結構——Java語言描述-preview-3
數據結構——Java語言描述-preview-1

商品描述

本書簡要回顧了Java語言的類、接口、泛型、數組等基本概念。在此基礎上,介紹了算法分析的基本方法和數據結構的基本概念,全面系統地討論了線性表、棧、隊列、二叉樹等基本數據結構的實現技術以及如何使用這些基本數據結構實現優先級隊列和圖等數據結構,給出瞭解決查找和排序兩個經典問題所使用的二叉搜索樹、紅黑樹、B樹、哈希表等數據結構的設計和實現。 本書使用Java語言,採用泛型編程實現數據結構,對代碼進行了詳細的講解。本書配套資源中的project給出了各數據結構的完整代碼。 本書可作為普通高等學校電腦科學與技術、軟件工程、人工智能、數據科學與大數據技術等專業的“數據結構”課程的教材,也可作為工程技術人員的參考讀物。

目錄大綱

目錄

基礎篇

第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.1BellmanFord算法

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鄰接多重表

小結

習題

參考文獻