數據結構與算法(Java語言版)

耿祥義、張躍平

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

  • 數據結構與算法(Java語言版)-preview-1
  • 數據結構與算法(Java語言版)-preview-2
  • 數據結構與算法(Java語言版)-preview-3
數據結構與算法(Java語言版)-preview-1

相關主題

商品描述

"本書面向有一定Java語言基礎的讀者,重點講解數據結構和相關算法以及經典算法思想。本書不僅註重講解每種數據結構的特點,而且特別註重結合實例講解怎樣正確地使用每種數據結構和相應的算法,強調使用數據結構和算法解決問題。本書精選了一些經典和實用性強的算法思想,並通過解決一些經典的問題體現這些算法思想的精髓。全書共14章,分別是數據結構概述、算法與復雜度、遞歸算法、數組與Arrays類、鏈表與LinkedList類、順序表與ArrayList類、棧與Stack類、隊列與ArrayDeque類、二叉樹與TreeSet類、散列表與HashMap類、集合與HashSet類、常用算法與Collections類、圖論和經典算法思想。本書特別註重體現Java語言的特色,除了前3章以外,其餘各章的大部分代碼都體現了Java的特色和Java在算法實現方面的優勢。 本書可作為電腦相關專業的數據結構與算法的教材,也可作為軟件開發等專業人員的參考用書。 "

目錄大綱

 

目錄

 

掃一掃

 

 

 

源碼下載

 

 

 

 

 

第1章數據結構概述

 

1.1邏輯結構

 

1.2物理結構

 

1.3算法與結構

 

習題1

 

 

第2章算法與復雜度

 

2.1算法

 

2.2算法的復雜度

 

2.3常見的復雜度

 

習題2

 

 

第3章遞歸算法

 

3.1遞歸算法簡介

 

3.2線性遞歸與非線性遞歸

 

3.2.1線性遞歸

 

3.2.2非線性遞歸

 

3.3問題與子問題

 

3.4遞歸與迭代

 

3.5多重遞歸

 

3.6經典遞歸

 

3.6.1楊輝三角形

 

3.6.2老鼠走迷宮

 

3.6.3漢諾塔

 

3.7優化遞歸

 

習題3

 

 

第4章數組與Arrays類

 

4.1引用與參數存值

 

4.1.1數組的引用

 

4.1.2參數存值

 

4.2數組與排序

 

4.2.1快速排序

 

4.2.2歸並排序

 

4.3數組的二分查找

 

4.3.1二分法

 

4.3.2過濾數組

 

4.4數組的復制

 

4.4.1復制數組的方法

 

4.4.2處理重復數據

 

4.5數組的比較

 

4.6公共子數組

 

4.7數組的更新

 

4.7.1單值更新

 

4.7.2動態更新

 

4.8數組的前綴算法

 

4.9動態遍歷

 

4.9.1動態方法

 

4.9.2編寫動態方法

 

4.9.3多線程遍歷

 

4.10數組與洗牌

 

4.11數組與生命游戲

 

習題4

 

 

第5章鏈表與LinkedList類

 

5.1鏈表的特點

 

5.2創建鏈表

 

5.3查詢與相等

 

5.4添加節點

 

5.5刪除節點

 

5.6更新節點

 

5.7鏈表的視圖

 

5.8鏈表的排序

 

5.9遍歷鏈表

 

5.10鏈表與數組

 

5.11不可變鏈表

 

5.12編寫簡單的類創建鏈表

 

習題5

 

 

第6章順序表與ArrayList類

 

6.1順序表的特點

 

6.2創建順序表

 

6.3順序表的常用方法

 

6.4遍歷順序表

 

6.5順序表與篩選法

 

6.6順序表與全排列

 

6.7順序表與組合

 

6.8順序表與記錄

 

6.9Vector類

 

習題6

 

 

第7章棧與Stack類

 

7.1棧的特點

 

7.2棧的創建與獨特的方法

 

7.3棧與迴文串

 

7.4棧與遞歸

 

7.5棧與undo操作

 

7.6棧與括號匹配

 

7.7棧與深度優先搜索

 

7.8棧與後綴表達式

 

習題7

 

 

第8章隊列與ArrayDeque類

 

8.1隊列的特點

 

8.2隊列的創建與獨特的方法

 

8.3隊列與迴文串

 

8.4隊列與加密、解密

 

8.5隊列與約瑟夫問題

 

8.6隊列與廣度優先搜索

 

8.7隊列與網絡爬蟲

 

8.8隊列與排隊

 

習題8

 

 

第9章二叉樹與TreeSet類

 

9.1二叉樹的基本概念

 

9.2遍歷二叉樹

 

9.3二叉樹的存儲

 

9.4平衡二叉樹

 

9.5二叉查詢樹和平衡二叉查詢樹

 

9.6TreeSet樹集

 

9.7樹集的基本操作

 

9.8樹集的視圖

 

9.9樹集與數據統計

 

9.10樹集與過濾數據

 

9.11樹集與節目單

 

習題9

 

 

第10章散列表與HashMap類

 

10.1散列結構的特點

 

10.2簡單的散列函數

 

10.3HashMap類

 

10.4散列表的基本操作

 

10.5遍歷散列表

 

10.6統計字符、單詞出現的次數和頻率

 

10.7散列表與單件模式

 

10.8散列表與數據緩存

 

10.9TreeMap類

 

10.10Hashtable類

 

習題10

 

 

第11章集合與HashSet類

 

11.1集合的特點

 

11.2HashSet類

 

11.3集合的基本操作

 

11.4集合與數據過濾

 

11.5正整數集合的生成集

 

11.6獲得隨機數的速度

 

習題11

 

 

第12章常用算法與Collections類

 

12.1排序

 

12.2二分查找

 

12.3反轉與旋轉

 

12.4洗牌

 

12.5求最大值與最小值

 

12.6統計次數和頻率

 

習題12

 

 

第13章圖論

 

13.1無向圖

 

13.2有向圖

 

13.3無向網絡和有向網絡

 

13.4圖的存儲

 

13.5圖的遍歷

 

13.6測試連通圖

 

13.7最短路徑

 

13.8最小生成樹

 

習題13

 

 

第14章經典算法思想

 

14.1貪心算法

 

14.2動態規劃

 

14.3回溯算法

 

習題14

 

附錄A對象與接口的關鍵知識點

 

參考文獻