算法設計與分析基礎, 3/e (Introduction to the Design and Analysis of Algorithms, 3/e)

萊維汀 (Anany Levitin)

買這商品的人也買了...

商品描述

《算法設計與分析基礎(第3版)》內容簡介:作者基於豐富的教學經驗,開發了一套全新的算法分類方法。該分類法站在通用問題求解策略的高度,對現有大多數算法準確分類,從而引領讀者沿著一條清晰、一致、連貫的思路來探索算法設計與分析這一迷人領域。《算法設計與分析基礎(第3版)》作為第3版,相對前版調整了多個章節的內容和順序,同時增加了一些算法,並擴展了算法的應用,使得具體算法和通用算法設計技術的對應更加清晰有序;各章累計增加了70道習題,其中包括一些有趣的謎題和麵試問題。《算法設計與分析基礎(第3版)》十分適合用作算法設計和分析的基礎教材,也適合任何有興趣探究算法奧秘的讀者使用,只要讀者具備數據結構和離散數學的知識即可。

海報:

作者簡介

作者:(美國)萊維汀(Anany Levitin) 譯者:潘彥

目錄大綱

第1章緒論
1.1什麼是算法
習題1.1 
1.2算法問題求解基礎
1.2.1理解問題
1.2.2了解計算設備的性能
1.2.3在精確解法和近似解法之間做出選擇
1.2.4算法的設計技術
1.2 .5確定適當的數據結構
1.2.6算法的描述
1.2.7算法的正確性證明
1.2.8算法的分析
1.2.9為算法寫代碼
習題1.2 
1.3重要的問題類型
1.3.1排序
1.3.2查找
1.3 .3字符串處理
1.3.4圖問題
1.3.5組合問題
1.3.6幾何問題
1.3.7數值問題
習題1.3 
1.4基本數據結構
1.4.1線性數據結構
1.4.2圖
1.4.3樹
1.4.4集合與字典
習題1.4 
小結
第2章算法效率分析基礎
2.1分析框架
2.1.1輸入規模的度量
2.1.2運行時間的度量單位
2.1.3增長次數
2.1.4算法的最優、最差和平均效率
2.1.5分析框架概要
習題2.1 
2.2漸近符號和基本效率類型
2.2.1非正式的介紹
2.2.2符號O 
2.2.3符號Q 
2.2.4符號θ 
2.2.5漸近符號的有用特性
2.2.6利用極限比較增長次數
2.2.7基本的效率類型
習題2.2 
2.3非遞歸算法的數學分析
習題2.3 
2.4遞歸算法的數學分析
習題2.4 
2.5例題:計算第n個斐波那契數
習題2.5 
2.6算法的經驗分析
習題2.6 
2.7算法可視法
小結
第3章蠻力法
3.1選擇排序和冒泡排序
3.1.1選擇排序
3.1.2冒泡排序
習題3.1 
3.2順序查找和蠻力字符串匹配
3.2.1順序查找
3.2.2蠻力字符串匹配
習題3.2 
3.3最近對和凸包問題的蠻力算法
3.3.1最近對問題
3.3.2凸包問題
習題3.3 
3.4窮舉查找
3.4.1旅行商問題
3.4.2背包問題
3.4.3分配問題
習題3.4 
3.5深度優先查找和廣度優先查找
3.5.1深度優先查找
3.5.2廣度優先查找
習題3.5 
小結
第4章減治法
4.1插入排序
習題4.1 
4.2拓撲排序
習題4.2 
4.3生成組合對象的算法
4.3.1生成排列
4.3.2生成子集
習題4.3 
4.4減常因子算法
4.4.1折半查找
4.4.2假幣問題
4.4.3俄式乘法
4.4.4約瑟夫斯問題
習題4.4 
4.5減可變規模算法
4.5.1計算中值和選擇問題
4.5.2插值查找
4.5.3二叉查找樹的查找和插入
4.5.4拈遊戲
習題4.5 
小結
第5章分治法
5.1合併排序
習題5.1 
5.2快速排序
習題5.2 
5.3二叉樹遍歷及其相關特性
習題5.3
5.4大整數乘法和Strassen矩陣乘法
5.4.1大整數乘法
5.4.2Strassen矩陣乘法
習題5.4 
5.5用分治法解最近對問題和凸包問題
5.5.1最近對問題
5.5.2凸包問題
習題5.5 
小結
第6章變治法
6.1預排序
習題6.1 
6.2高斯消去法
6.2.1LU分解
6.2.2計算矩陣的逆
6.2.3計算矩陣的行列式
習題6.2 
6.3平衡查找樹
6.3.1AVL樹
6.3.22—3樹
習題6.3 
6.4堆和堆排序
6.4.1堆的概念
6.4.2堆排序
習題6.4 
6.5霍納法則和二進制冪
6.5.1霍納法則
6.5.2二進制冪
習題6.5 
6.6問題化簡
6.6.1求最小公倍數
6.6 .2計算圖中的路徑數量
6.6.3優化問題的化簡
6.6.4線性規劃
6.6.5簡化為圖問題
習題6.6 
小結
第7章時空權衡
7.1計數排序
習題7.1 
7.2字符串匹配中的輸入增強技術
7.2.1Horspool算法
7.2.2Boyer—Moore算法
習題7.2 
7.3散列法
7.3.1開散列(分離鏈)
7.3.2閉散列(開式尋址)
習題7.3 
7.4B樹
習題7.4 
小結
第8章動態規劃
8.1三個基本例子
習題8.1 
8.2背包問題和記憶功能
8.2.1背包問題
8.2.2記憶化
習題8_2 
8.3最優二叉查找樹
習題8.3 
8.4Warshall算法和Floyd算法
8.4.1Warshall算法
8.4.2計算完全最短路徑的Floyd算法
習題8.4 
小結
第9章貪婪技術
9.1Prim算法
習題9.1 
9.2Kruskal算法
習題9.2 
9.3Diikstra算法
習題9.3 
9.4哈夫曼樹及編碼
習題9.4
小結
第10章迭代改進
10.1單純形法
10.1.1線性規劃的幾何解釋
10.1.2單純形法概述
10.1.3單純形法其他要點
習題10.1 
10.2最大流量問題
習題10.2 
10.3二分圖的雖大匹配
習題10.3 
10.4穩定婚姻問題
習題10.4 
小結
第11章算法能力的極限
11.1如何求下界
11.1.1平凡下界
11.1.2信息論下界
11.1.3敵手下界
11.1.4問題化簡
習題11.1 
11.2決策樹
11.2.1排序的決策樹
11.2.2查找有序數組的決策樹
習題11.2 
11.3P、NP和NP完全問題
11.3.1P和NP問題
11.3.2NP完全問題
習題11.3 
11.4數值算法的挑戰
習題11.4 
小結
第12章超越算法能力的極限
12.1回溯法
12.1.1n皇后問題
12.1.2哈密頓迴路問題
12.1.3子集和問題
12.1.4一般性說明
習題12.1 
12.2分支界限法
12.2.1分配問題
12.2.2背包問題
12.2.3旅行商問題
習題12.2 
12.3NP困難問題的近似算法
12.3.1旅行商問題的近似算法
12.3.2背包問題的近似算法
習題12.3 
12.4解非線性方程的算法
12.4.1平分法
12.4.2試位法
12.4.3牛頓法
習題12.4 
小結

附錄A算法分析的實用公式
附錄B遞推關係簡明指南
習題提示
參考文獻