標籤:mod 研究 a演算法 關係 方向 iss oat 12px 錯誤
:網盤下載
內容簡介編輯《資料結構與演算法分析:C語言描述(原書第2版)》內容簡介:書中詳細介紹了當前流行的論題和新的變化,討論了演算法設計技巧,並在研究演算法的效能、效率以及對已耗用時間分析的基礎上考查了一些進階資料結構,從曆史的角度和近年的進展對資料結構的活躍領域進行了簡要的概括。由於《資料結構與演算法分析:C語言描述(原書第2版)》選材新穎,方法實用,題例豐富,取捨得當。《資料結構與演算法分析:C語言描述(原書第2版)》的目的是培養學生良好的程式設計技巧和熟練的演算法分析能力,使得他們能夠開發出高效率的程式。從服務於實踐又鍛煉學生實際能力出發,書中提供了大部演算法的C程式和偽碼常式,但並不是全部。一些程式可從互連網上獲得。《資料結構與演算法分析:C語言描述(原書第2版)》是《Data Structures and Algorithm Analysis in C》一書第2版的簡體中譯本。原書曾被評為20世紀頂尖的30部電腦著作之一,作者Mark Allen Weiss在資料結構和演算法分析方面卓有建樹,他的資料結構和演算法分析的著作尤其暢銷,並受到廣泛好評.已被世界500餘所大學用作教材。在《資料結構與演算法分析:C語言描述(原書第2版)》中,作者更加精鍊並強化了他對演算法和資料結構方面創新的處理方法。通過C程式的實現,著重闡述了抽象資料類型的概念,並對演算法的效率、效能和已耗用時間進行了分析。全書特點如下:●專用一章來討論演算法設計技巧,包括貪婪演算法、分治演算法、動態規劃、隨機化演算法以及回溯演算法●介紹了當前流行的論題和新的資料結構,如斐波那契堆、斜堆、二項隊列、跳躍表和伸展樹●安排一章專門討論攤還分析,考查書中介紹的一些進階資料結構●新開闢一章討論進階資料結構以及它們的實現,其中包括紅/黑樹狀結構、自頂向下伸展樹。treap樹、k-d樹、配對堆以及其他相關內容●合并了堆排序平均情況分析的一些新結果《資料結構與演算法分析:C語言描述(原書第2版)》是國外資料結構與演算法分析方面的標準教材,介紹了資料結構(大量資料的組織方法)以及演算法分析(演算法已耗用時間的估算)。《資料結構與演算法分析:C語言描述(原書第2版)》的編寫目標是同時講授好的程式設計和演算法分析技巧,使讀者可以開發出具有最高效率的程式。 《資料結構與演算法分析:C語言描述(原書第2版)》可作為進階資料結構課程或研究生一年級演算法分析課程的教材,使用《資料結構與演算法分析:C語言描述(原書第2版)》需具有一些中級程式設計知識,還需要離散數學的一些背景知識。[1] 作者簡介編輯(美國)維斯 譯者:馮舜璽Mark Allen Weiss是佛羅里達國際大學電腦學院教授,普林斯頓大學電腦科學博士。除本書外,他編寫的關於資料結構與演算法方面的知名教材還有:Data Structures and Algorithm Analysis:in Java, Data Structures and Algonthm Analysis:in C++以及Data Structures and Problem Solving:Using Jave、Data Struchures and Problem Solving:Using C++等。他目前是AP考試電腦學科委員會的主席。現任美國佛羅里達國際大學計算與資訊科學學院教授。他曾經擔任全美AP(Advanced Placement)考試電腦學科委員會的主席(2000-2004)。他的主要研究方向是資料結構、演算法和教育學。[1] 目錄編輯第1章 引論
1.1 本書討論的內容
1.2 數學知識複習
1.2.1 指數
1.2.2 對數
1.2.3 級數
1.2.4 模運算
1. 2.5 證明方法
1.3 遞迴簡論
總結
練習
參考文獻
第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 抽象資料類型(adt)
3.2 表adt
3.2.1 表的簡單數組實現
3.2.2 鏈表
3.2.3 程式設計細節
3.2.4 常見的錯誤
3.2.5 雙鏈表
3.2.6 迴圈鏈表
3.2.7 例子
3.2.8 鏈表的遊標實現
3.3 棧adt
3.3.1 棧模型
3.3.2 棧的實現
3.3.3 應用
3.4 隊列adt
3.4.1 隊列模型
3.4.2 隊列的數組實現
3.4.3 隊列的應用
總結
練習
第4章 樹
4.1 預備知識
4.1.1 樹的實現
4.1.2 樹的遍曆及應用
4.2 二叉樹
4.2.1 實現
4.2.2 運算式樹狀架構
4.3 尋找樹adt--二叉尋找樹
4.3.1 makeempty
4.3.2 find
4.3.3 findmin和findmax
4.3.4 insert
4.3.5 delere
4.3.6 平均情形分析
4.4 avl樹
4.4.1 單旋轉
4.4.2 雙旋轉
4.5 伸展樹
4.5.1 一個簡單的想法
4.5.2 展開
4.6 樹的遍曆
4.7 b-樹
總結
練習
參考文獻
第5章 散列
5.1 一般想法
5.2 散列函數
5.3 分離連結法
5.4 開放定址法
5.4.1 線性探測法
5.4.2 平方探測法
5.4.3 雙散列
5.5 再散列
5.6 可擴散列
總結
練習
參考文獻
第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 二項隊列的實現
總結
練習
參考文獻
第7章 排序
7.1 預備知識
7.2 插入排序
7.2.1 演算法
7.2.2 插入排序的分析
7.3 一些簡單排序演算法的下界
7. 4 希爾排序
7.4.1 希爾排序的最壞情形分析
7.5 堆排序
7.5.1 堆排序的分析
7.6 歸併排序
7.6.1 歸併排序的分析
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.9.1 決策樹
7.10 桶式排序
7.11 外部排序
7.11.1 為什麼需要新的演算法
7.11.2 外部排序模型
7.11.3 簡單演算法
7.11.4 多路合并
7.11.5 多相合并
7.11.6 替換選擇
總結
練習
參考文獻
第8章 不相交集adt
8.1 等價關係
8.2 動態等價性問題
8.3 基本資料結構
8.4 靈巧求並演算法
8.5 路徑壓縮
8.6 按秩求並和路徑壓縮的最壞情形
8.6.1 union/find演算法分析
8.7 一個應用
總結
練習
參考文獻
第9章 圖論演算法
9.1 若干定義
9.1.1 圖的表示
9.2 拓撲排序
9.3 最短路徑演算法
9.3.1 無權最短路徑
9.3.2 dijkstra演算法
9.3.3 具有負邊值的圖
9.3.4 無圈圖
9.3.5 所有點對最短路徑
9.4 網路流問題
9.4.1 一個簡單的最大流演算法
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 huffman編碼
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 配對堆
總結
練習
參考文獻
:網盤下載
《資料結構與演算法分析—C語言描述》pdf