算法設計與分析(Python案例詳解·微課視頻版)

許瑾晨、周蓓

  • 出版商: 清華大學
  • 出版日期: 2024-08-01
  • 定價: $299
  • 售價: 8.5$254
  • 語言: 簡體中文
  • ISBN: 7302659532
  • ISBN-13: 9787302659532
  • 下單後立即進貨 (約4週~6週)

  • 算法設計與分析(Python案例詳解·微課視頻版)-preview-1
  • 算法設計與分析(Python案例詳解·微課視頻版)-preview-2
  • 算法設計與分析(Python案例詳解·微課視頻版)-preview-3
算法設計與分析(Python案例詳解·微課視頻版)-preview-1

商品描述

"本書全面介紹算法評價與常用算法設計方法。算法評價部分主要從理論和實踐兩個角度就算法評價方法展開討論,從中可以學習到算法分析方法和各種有效的測試方法,有助於更有效地評價和設計算法; 算法設計部分主要針對每種算法設計策略,通過引例引入算法,闡述算法思想、步驟、原理,再結合典型應用的描述與分析、算法設計、代碼實現、實例演示、算法分析、改進、擴展等內容,對算法進行全面描述,有助於在典型應用的詳細解析中掌握並運用算法。 全書分為兩篇,共10章。第一篇為算法評價,包括兩章。第1章系統介紹從理論層面分析算法優劣的基本方法,包括算法的正確性、算法的簡單性、算法的時空復雜度分析、算法的**性證明、計算誤差分析和NP完全理論; 第2章從實踐層面分析算法優劣的可實施方法,包括程序的性能測試方法、程序的空間測試方法和誤差測試方法。第二篇為算法設計,包括第3~9章的遞歸、分治、動態規劃、貪心法、回溯法、分支限界法和概率算法。此外,第10章針對各類算法進行對比分析,並通過幾個經典應用給出採用不同算法設計策略的求解方法。 本書可作為高等院校電腦相關專業教材,同時可供對算法設計與分析有所瞭解的廣大開發人員、科技工作者和研究人員參考。 "

目錄大綱

 

 

目錄

 

掃一掃

 

 

 

源碼下載

 

 

 

第一篇算 法 評 價

 

第1章從理論看算法

 

1.1正確性

 

1.2簡單性

 

1.3時間復雜度分析

 

1.3.1非遞歸算法的分析方法

 

1.3.2遞歸算法的分析方法

 

1.4空間復雜度分析

 

1.5最優性證明

 

1.6計算誤差分析

 

1.6.1誤差分析基礎

 

1.6.2誤差分析方法

 

1.7NP完全理論

 

1.7.1計算模型

 

1.7.2P問題、NP問題和NPC問題

 

1.7.3常見典型問題

 

1.8小結

 

擴展閱讀

 

習題1

 

第2章從實踐看算法

 

2.1性能測試方法

 

2.1.1從零做測試

 

2.1.2工具介紹

 

2.2空間測試方法

 

2.2.1Windows系統

 

2.2.2Linux系統

 

2.3誤差測試方法

 

2.3.1計算ULP

 

2.3.2從零做測試

 

2.4小結

 

擴展閱讀

 

習題2

 

第二篇算 法 設 計

 

第3章遞歸

 

3.1引例: 階乘

 

3.2遞歸的基本思想

 

3.3遞歸應用: 漢諾塔問題

 

3.4遞歸應用: 全排列

 

3.5遞歸應用: 整數劃分

 

3.6小結

 

擴展閱讀

 

習題3

 

第4章分治法

 

4.1引例: 尋找假幣

 

4.2分治法基本思想

 

4.2.1分治法解題步驟

 

4.2.2分治法適用條件

 

4.2.3分治法代碼框架

 

4.3分治法應用: 二分搜索

 

4.4分治法應用: 快速排序

 

4.5分治法應用: 歸並排序

 

4.6分治法應用: 求最大最小項

 

4.7分治法應用: 棋盤覆蓋

 

4.8分治法應用: 大整數乘法

 

4.8.1位乘法實現

 

4.8.2分治法實現

 

4.9小結

 

擴展閱讀

 

習題4

 

第5章動態規劃

 

5.1引例一: 兔子繁殖問題

 

5.2引例二: 數字三角形問題

 

5.3動態規劃基本思想

 

5.3.1動態規劃與分治法的區別

 

5.3.2適合用動態規劃求解的問題具有的兩個重要性質

 

5.3.3動態規劃的解題步驟

 

5.4動態規劃應用: 01背包問題

 

5.4.1動態規劃求解01背包問題

 

5.4.2算法空間優化

 

5.5動態規劃應用: 矩陣連乘問題

 

5.6動態規劃應用: 最長公共子序列

 

5.7動態規劃應用: 最長不上升子序列

 

5.8動態規劃應用: 編輯距離問題

 

5.9動態規劃應用: 最優二叉搜索樹

 

5.10小結

 

擴展閱讀

 

習題5

 

第6章貪心法

 

6.1引例: 找零錢問題

 

6.2貪心法的基本思想

 

6.3貪心法應用: 活動安排問題

 

6.4貪心法應用: 過河問題

 

6.5貪心法應用: 哈夫曼編碼

 

6.6貪心法應用: 最小生成樹

 

6.7貪心法應用: 多機調度問題

 

6.8小結

 

擴展閱讀

 

習題6

 

第7章回溯法

 

7.1引例一: 01背包問題

 

7.2引例二: 旅行售貨員問題

 

7.3回溯法基本思想

 

7.3.1解題步驟

 

7.3.2算法框架

 

7.4回溯法應用: 01背包問題

 

7.5回溯法應用: 旅行售貨員問題

 

7.6回溯法應用: 符號三角形問題

 

7.7回溯法應用: n皇後問題

 

7.8小結

 

擴展閱讀

 

習題7

 

第8章分支限界法

 

8.1引例: 01背包問題

 

8.2分支限界法基本思想

 

8.3分支限界法應用: 01背包問題

 

8.4分支限界法應用: 旅行售貨員問題

 

8.5小結

 

擴展閱讀

 

習題8

 

第9章概率算法

 

9.1引例: 主元素求解

 

9.2概率算法的分類

 

9.3隨機數生成

 

9.4舍伍德算法

 

9.5拉斯維加斯算法

 

9.6蒙特卡洛算法

 

9.7小結

 

擴展閱讀

 

習題9

 

第10章綜合應用

 

10.1算法設計策略的對比

 

10.1.1遞歸與分治法

 

10.1.2動態規劃與分治法

 

10.1.3動態規劃與貪心法

 

10.1.4回溯法與分支限界法

 

10.2最大子段和問題

 

10.3最短路徑問題

 

10.3.1單源最短路徑

 

10.3.2所有點對間的最短路徑

 

10.4資源分配問題

 

10.5小結

 

擴展閱讀

 

習題10

 

參考文獻