算法設計指南, 2/e (The Algorithm Design Manual, 2/e)

Steven S. Skiena 著 謝勰 譯

  • 算法設計指南, 2/e (The Algorithm Design Manual, 2/e)-preview-1
  • 算法設計指南, 2/e (The Algorithm Design Manual, 2/e)-preview-2
  • 算法設計指南, 2/e (The Algorithm Design Manual, 2/e)-preview-3
算法設計指南, 2/e (The Algorithm Design Manual, 2/e)-preview-1

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

商品描述

本書由算法領域的知名專家Steven Skiena教授編寫,其主要內容包括基本算法設計、算法分析、數據結構、排序與查找、圖算法、動態規劃以及難解問題與近似算法。 “設計”是本書的核心,作者不但以生動有趣的語言講授了算法設計中的常用技術與思想,還著重教導我們應從已有經典設計和實現中汲取力量來完成問題求解,而這正是一個優秀算法工作者所必備的素養。為了更全面真實地展現作者的算法設計觀,本書每章都給出了若乾取自現實案例的精彩War Story,讀者可以從中深刻體驗到優秀算法設計的曲折歷程。為了減輕閱讀的難度,作者淡化了繁難的算法分析而僅僅給出性能結論與對比,這在同類算法書中是相當少見的。此外,本書配套網站包含大量算法設計資源以及作者本人的授課視頻,為算法設計者提供了極大的便利。 本書長期居於算法暢銷教材前列,是一本不可多得的“算法設計指南”,它不僅能作為電腦相關專業算法課程的教材,對於相關領域從業人員亦是極具價值的參考書。

目錄大綱

捲I 實用算法設計
第1章 算法設計導引
1.1 機器人巡遊優化
1.2 合理挑選工作
1.3 關於正確性的推理
1.4 建立問題的模型
1.5 關於War Story
1.6 War Story:通靈者的模型建立
1.7 習題
第2章 算法分析
2.1 RAM計算模型
2.2 大O記號
2.3 增長量級與強弱關系
2.4 以大O來推演公式
2.5 關於效率的推理
2.6 對數及其應用
2.7 對數的特性
2.8 War Story:錐體之秘
2.9 高等分析(*)
2.10 習題
第3章 數據結構
3.1 緊接數據結構與鏈接數據結構
3.2 棧與隊列
3.3 字典
3.4 二叉查找樹
3.5 優先級隊列
3.6 War Story:剝離三角剎分
3.7 散列與字符串
3.8 專用數據結構
3.9 War Story:把它們串起來
3.10 習題
第4章 排序與查找
4.1 排序的應用
4.2 排序的範式
4.3 堆排序:借助數據結構而得的最優排序
4.4 War Story:給我一張機票
4.5 歸並排序:通過分治來排序
4.6 快速排序:通過隨機化來排序
4.7 分配排序:通過裝桶來排序
4.8 War Story:為被告辯護的Skiena
4.9 二分查找及相關算法
4.10 分治
4.11 習題
第5章 圖的遍歷
5.1 圖的風格
5.2 用於圖的數據結構
5.3 War Story:我曾是摩爾定律的受害者
5.4 War Story:圖的獲取
5.5 遍歷圖
5.6 廣度優先搜索
5.7 廣度優先搜索的應用
5.8 深度優先搜索
5.9 深度優先搜索的應用
5.10 有向圖的深度優先搜索
5.11 習題
第6章 加權圖算法
6.1 最小生成樹
6.2 Way Story:網絡之外別無他求
6.3 最短路徑
6.4 War Story:撥出文檔
6.5 網絡流和二部匹配
6.6 去設計圖,而非算法
6.7 習題
第7章 組合搜索與啟發式方法
7.1 回溯
7.2 搜索剪枝法
7.3 數獨
7.4 War Story:覆蓋棋盤
7.5 啟發式搜索方法
7.6 只不過它不是收音機而己
7.7 對陣列退火
7.8 其他啟發式搜索方法
7.9 並行算法
7.10 War Story:毫無進展
7.11 習題
第8章 動態規劃
8.1 緩存與計算.
8.2 字符串近似匹配
8.3 最長遞增子序列
8.4 War Story:龍蝦的進化
8.5 劃分問題.
8.6 對上下文無關的語言做語法分析
8.7 動態規劃的局限性:TSP
8.8 War Story:過去所發生的事就是Prolog
8.9 War Story:條碼的文本壓縮
8.10 習題
第9章 難解問題和近似算法
9.1 問題和歸約
9.2 算法的歸約
9.3 基礎性的難解性歸約
9.4 可滿足性
9.5 創造性的歸約
9.6 難解性證明的藝術
9.7 War Story:爭分奪秒亦難
9.8 War Story:後來我失敗了
9.9 P與NP
9.10 NP完全問題的處理
9.11 習題
第10章 如何設計算法
參考文獻