資料結構與演算法分析——Java語言描述pdf

來源:互聯網
上載者:User

標籤:ons   類型   6.2   深度   理論   9.4   歸併排序   前言   epo   

:網盤下載

 

 

內容簡介  · · · · · ·

本書是國外資料結構與演算法分析方面的經典教材,使用卓越的Java程式設計語言作為實現工具討論了資料結構(組織大量資料的方法)和演算法分析(對演算法已耗用時間的估計)。 隨著電腦速度的不斷增加和功能的日益強大,人們對有效編程和演算法分析的要求也不斷增長。本書把演算法分析與最有效率的Java程式的開發有機地結合起來,深入分析每種演算法,內容全面、縝密嚴格,並細緻講解精心構造程式的方法。

作者簡介  · · · · · ·

MarkAllen Weiss擁有普林斯頓大學電腦科學博士學位,現在是佛羅里達國際大學電腦學院教授。他是著名的電腦教育專家,在資料結構與演算法分析方面卓有建樹,著有多部暢銷書籍:《Data Structures and Problem Solving:LJsirlg、Java》、《Data Structures and Problem Solving:Using C++》、《資料結構與演算法分析——C語言描述》等。他目前是AP(AdvancedPlacement)電腦學科委員會成員。

目錄  · · · · · ·譯者序
前言
第1章 引論
1.1 本書討論的內容
1.2 數學知識複習
1.2.1 指數
1.2.2 對數
1.2.3 級數
1.2.4 模運算
1.2.5 證明的方法
1.3 遞迴簡論
1.4 實現泛型特性構件pre-Java5
1.4.1 使用Object表示泛型
1.4.2 基本類型的封裝
1.4.3 使用介面類型表示泛型
1.4.4 數群組類型的相容性
1.5 利用Java5泛性實現泛型特性成分
1.5.1 簡單的泛型類和介面
1.5.2 自動裝箱/拆箱
1.5.3 帶有限制的萬用字元
1.5.4 泛型static方法
1.5.5 類型限界
1.5.6 類型擦除
1.5.7 對於泛型的限制
1.6 函數對象
小結
練習
參考文獻
第2章 演算法分析
2.1 數學基礎
2.2 模型
2.3 要分析的問題
2.4 已耗用時間計算
2.4.1 一個簡單的例子
2.4.2 一般法則
2.4.3 最大子序列和問題的求解
2.4.4 已耗用時間中的對數
2.4.5 檢驗你的分析
2.4.6 分析結果的準確性
小結
練習
參考文獻
第3章 表、棧和隊列
3.1 抽象資料類型
3.2 表ADT
3.2.1 表的簡單數組實現
3.2.2 簡單鏈表
3.3 Java Collections API中的表
3.3.1 Collection介面
3.3.2 Iterator介面
3.3.3 List介面、ArrayList類和LinkedList類
3.3.4 例:remove方法對LinkedList類的使用
3.3.5 關於ListIterator介面
3.4 ArrayList類的實現
3.4.1 基本類
3.4.2 迭代器、Java嵌套類和內部類
3.5 Linked List類的實現
3.6 棧ADT
3.6.1 棧模型
3.6.2 棧的實現
3.6.3 應用
3.7 隊列ADT
3.7.1 隊列模型
3.7.2 隊列的數組實現
3.7.3 隊列的應用
小結
練習
第4章 樹
4.1 預備知識
4.1.1 樹的實現
4.1.2 樹的遍曆及應用
4.2 二叉樹
4.2.1 實現
4.2.2 例子:運算式樹狀架構
4.3 尋找樹ADT——二叉尋找樹
4.3.1 contains方法
4.3.2 findMin方法和findMax方法
4.3.3 insert方法
4.3.4 remove方法
4.3.5 平均情況分析
4.4 AVL樹
4.4.1 單旋轉
4.4.2 雙旋轉
4.5 伸展樹
4.5.1 一個簡單的想法(不能直接使用)
4.5.2 展開
4.6 樹的遍曆
4.7 B樹
4.8 標準庫中的集合與映射
4.8.1 關於Set介面
4.8.2 關於Map介面
4.8.3 TreeSet類和TreeMap類的實現
4.8.4 使用多個映射的例
小結
練習
參考文獻
第5章 散列
5.1 一般想法
5.2 散列函數
5.3 分離連結法
5.4 不用鏈表的散列表
5.4.1 線性探測法
5.4.2 平方探測法
5.4.3 雙散列
5.5 再散列
5.6 標準庫中的散列表
5.7 可擴散列
小結
練習
參考文獻
第6章 優先隊列(堆)
6.1 模型
6.2 一些簡單的實現
6.3 二元堆積
6.3.1 結構性質
6.3.2 堆序性質
6.3.3 基本的堆操作
6.3.4 其他的堆操作
6.4 優先隊列的應用
6.4.1 選擇問題
6.4.2 事件類比
6.5 d-堆
6.6 左式堆
6.6.1 左式堆性質
6.6.2 左式堆操作
6.7 斜堆
6.8 二項隊列
6.8.1 二項隊列結構
6.8.2 二項隊列操作
6.8.3 二項隊列的實現
6.9 標準庫中的優先隊列
小結
練習
參考文獻
第7章 排序
7.1 預備知識
7.2 插入排序
7.2.1 演算法
7.2.2 插入排序的分析
7.3 一些簡單排序演算法的下界
7.4 希爾排序
7.5 堆排序
7.6 歸併排序
7.7 快速排序
7.7.1 選取樞紐元
7.7.2 分割策略
7.7.3 小數組
7.7.4 實際的快速排序常式
7.7.5 快速排序的分析
7.7.6 選擇問題的線性期望時間演算法
7.8 排序演算法的一般下界
7.9 桶式排序
7.10 外部排序
7.10.1 為什麼需要一些新的演算法
7.10.2 外部排序模型
7.10.3 簡單演算法
7.10.4 多路合并
7.10.5 多相合并
7.10.6 替換選擇
小結
練習題
參考文獻
第8章 不相交集類
8.1 等價關係
8.2 動態等價性問題
8.3 基本資料結構
8.4 靈巧求並演算法
8.5 路徑壓縮
8.6 路徑壓縮和按秩求並的最壞情形
8.7 一個應用
小結
練習題
參考文獻
第9章 圖論演算法
9.1 若干定義
9.2 拓撲排序
9.3 最短路徑演算法
9.3.1 無權最短路徑
9.3.2 Dijkstra演算法
9.3.3 具有負邊值的圖
9.3.4 無圈圖
9.3.5 所有點對最短路徑
9.3.6 最短路徑的例子
9.4 網路流問題
9.5 最小產生樹
9.5.1 Prim演算法
9.5.2 Kruskal演算法
9.6 深度優先搜尋的應用
9.6.1 無向圖
9.6.2 雙連通性
9.6.3 歐拉迴路
9.6.4 有向圖
9.6.5 尋找強分支
9.7 NP完全性介紹
9.7.1 難與易
9.7.2 NP類
9.7.3 NP完全問題
小結
練習
參考文獻
第10章 演算法設計技巧
10.1 貪婪演算法
10.1.1 一個簡單的調度問題
10.1.2 哈夫曼編碼
10.1.3 近似裝箱問題
10.2 分治演算法
10.2.1 分治演算法的已耗用時間
10.2.2 最近點問題
10.2.3 選擇問題
10.2.4 一些算術問題的理論改進
10.3 動態規劃
10.3.1 用一個表代替遞迴
10.3.2 矩陣乘法的順序安排
10.3.3 最優二叉尋找樹
10.3.4 所有點對最短路徑
10.4 隨機化演算法
10.4.1 隨機數發生器
10.4.2 跳躍表
10.4.3 素性測試
10.5 回溯演算法
10.5.1 收費公路重建問題
10.5.2 博弈
小結
練習
參考文獻
第11章 攤還分析
11.1 一個無關的智力問題
11.2 二項隊列
11.3 斜堆
11.4 斐波那契堆
11.4.1 切除左式堆中的節點
11.4.2 二項隊列的懶惰合并
11.4.3 斐波那契堆操作
11.4.4 時間界的證明
11.5 伸展樹
小結
練習
參考文獻
第12章 進階資料結構及其實現
12.1 自頂向下伸展樹
12.2 紅/黑樹狀結構
12.2.1 自底向上的插入
12.2.2 自頂向下紅/黑樹狀結構
12.2.3 自頂向下的刪除
12.3 確定性跳躍表
12.4 AA樹
12.5 treap樹
12.6 k-d樹
12.7 配對堆
小結
練習
參考文獻
索引

 

 

:網盤下載

 

資料結構與演算法分析——Java語言描述pdf

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.