算法--Python語言實現

算法--Python語言實現

《算法--Python語言實現》是2020年中國水利水電出版社出版的圖書。

基本介紹

  • 中文名:算法--Python語言實現
  • 作者:編者:陳屹|責編:楊靜華
  • 出版時間:2020年
  • 出版社:中國水利水電出版社
  • ISBN:9787517084372
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,作者簡介,

內容簡介

《算法——Python語言實現(圖解視頻版)》在剖析計算機算法理論的基礎上致力於實戰開發的套用,通過理論與實戰相結合的方式幫助讀者提升算法設計能力。全書共11章,第1章介紹了算法效率分析的相關概念和思想;第2、4、5章分別講解了分而治之算法、貪婪算法和動態規劃,來傳遞算法設計思想;第3章詳細講解了排序算法,幫助讀者奠定算法設計的基石;第6、7、9、11章分別闡述了線性規劃、圖論、字元串匹配算法和計算幾何,這幾章幫助讀者擴展算法設計思維能力;第8、10章分別講解了隨機化算法和機率性分析以及NP完全問題,這兩章更偏向於理論探討,幫助讀者建立紮實的算法設計理論思維能力。
《算法——Python語言實現(圖解視頻版)》理論知識與實例套用相結合,大量圖示講解算法的設計思路與流程,用Python語言展現算法的代碼實現過程,配備了350分鐘的同步視頻教學,贈送本書實例的源碼和各章的PPT課件,提供QQ讀者交流群,讓讀者能夠輕鬆深度學習算法編程。本書既可作為廣大編程愛好者深度學習算法的入門圖書,又可作為高等院校或者培訓機構的教材使用。

圖書目錄

第1章 踏上算法演繹之旅,視頻講解:21分鐘
1.1 算法初體驗:冒泡排序法
1.2 理解算法複雜度
1.3 函式的增長性和大O表示法
1.4 使用猜測檢驗法確定算法複雜度。
第2章 分而治之算法
視頻講解:41分鐘
2.1 求取最大子數組
2.1.1 算法流程描述
2.1.2 代碼實現算法流程
2.1.3 算法時間複雜度分析
2.1.4 求取最大子數組線性時間複雜度算法。
2.1.5 代碼實現最大予數組線性時間複雜度算法。
2.2快速查找數組中給定次序的元素
2.2.1 快速查找數組中位數
2.2.2 查找數組中位數的線性時間複雜度算法
2.2.3 算法時間複雜度分析
2.2.4 代碼實現中位數選取算法
2.3歸併排序
2.3.1歸併排序算法描述
2.3.2代碼實現歸併排序
2.3.3k路歸併排序
2.3.4代碼實現k路歸併排序
2.4快速傅立葉變換
2.4.1多項式的兩種表達方式
2.4.2 多項式的和與積
2.4.3 複數單位根
2.4.4 離散傅立葉變換和快速傅立葉變換
2.4.5 快速傅立葉變換的算法實現
2.4.6 逆向傅立葉變換
2.5 在平麵點集中查找距離最近兩點
2.5.1 查找算法的基本步驟描述
2.5.2 算法的正確性說明
2.5.3 算法的代碼實現
第3章 學會排序
視頻講解:36分鐘
3.1 堆排序和優先權佇列
3.1.1 數據結構:堆
3.1.2 將數組轉換為堆
3.1.3 實現堆排序
3.1.4 優先權佇列
3.2快速排序
3.2.1 快速排序的基本思路
3.2.2 快速排序時間複雜度分析
3.2.3 尾部遞歸實現快速排序
3.3使用快速排序實現數值區間的模糊排序
3.3.1 模糊排序的算法思路
3.3.2 代碼實現模糊排序
3.4排序算法的時間複雜度下界
3.4.1 排序算法中的決策樹模型
3.4.2 決策樹性質分析
3.5突破O(n*1g(n))複雜度的排序算法
3.5.1計數排序
3.5.2 基數排序
3.5.3桶排序
第4章 貪婪算法
視頻講解:35分鐘
4.1 最小生成樹
4.1.1 Kruskal 算法
4.1.2 Kruskal 算法的代碼實現
4.1.3Prim算法
4.2一個工廠任務調度問題的貪婪算法
4.2.1 貪婪算法的設計思路
4.2.2 調度問題的代碼實現
4.2.3 貪婪算法的套路分析
4.2.4 背包問題的動態規劃解法
4.3一個懂算法的毛賊:如何帶走最值錢的髒物
4.3.1 背包問題的貪婪算法
4.3.2 算法代碼實現
4.4最少硬幣換算問題
4.4.1 硬幣換算的貪婪算法。
4.4.2 貪婪算法在硬幣換算問題上的有效性檢測
4.4.3 貪婪算法適用性檢測算法的代碼實現
4.5線下快取最優算法
4.5.1 最遠優先原則
4.5.2 代碼實現最遠優先原則
第5章 動態規劃
視頻講解:41分鐘
5.1 編輯距離
5.1.1 編輯距離的動態規划算法
5.1.2 編輯距離算法實現
5.1.3 動態規划算法的結構特徵
5.2 長鏈矩陣的高效乘法
5.2.1 動態規劃實現多個矩陣相乘
5.2.2 查找最優矩陣乘積次序的代碼實現
5.3 中國郵差最短路徑問題
5.3.1 郵差問題的算法描述
5.3.2 郵差問題的代碼實現
5.4讓高通發家的維特比算法
5.4.1 維特比算法的原理描述
5.4.2 維特比算法的代碼實現
5.5 最優搜尋二叉樹
5.5.1 構建最優搜尋二叉樹的算法描述
5.5.2 構建最優搜尋二叉樹的代碼實現
第6章 線性規劃
四視頻講解:18分鐘
6.1 線性規劃基本介紹
6.1.1 線性規劃的標準型轉換
6.1.2 多種問題形式下的線性規劃核心
6.2 求解線性規劃問題的 Simplex 算法
6.2.1 高斯消元法套用示例
6.2.2 線性規劃系統最優解存在性證明
6.2.3 Simplex 算法的代碼實現
6.2.4 代碼實現最優解存在性檢測
6.3 Simplex 算法時間複雜度分析
6.4 Simplex 算法必能尋得最優解的證明
第7章 圖論
視頻講解:45分鐘
7.1 深度優先與廣度優先
7.2 迪傑斯特拉最短路徑算法
7.2.1 迪傑斯特拉算法的代碼實現
7.2.2 迪傑斯特拉算法的正確性與效率
7.3 貝爾曼-福德算法
7.3.1 貝爾曼-福德算法的代碼實現
7.3.2 貝爾曼-福德算法用於金融套利
7.3.3 貝爾曼-福德算法的正確性
7.3.4 貝爾曼-福德算法的改進
7.4卡普均值最小迴路算法
7.4.1 均值最小迴路算法的原理
7.4.2 代碼實現卡普均值最小迴路算法
7.5 弗洛伊德-華沙任意兩點最短路徑算法
7.5.1 算法原理描述
7.5.2 算法的代碼實現
7.5.3 獲取最短路徑
7.6強森任意兩點最短路徑算法
7.6.1 負邊的長度修正
7.6.2 強森算法的基本流程
7.6.3 算法的代碼實現,
第8章 隨機化算法和機率性分析
視頻講解:29分鐘
8.1 布豐投針法精確計算圓周率
8.1.1 布豐投針法的理論分析
8.1.2 布豐投針法的代碼實現
8.2 隨機信號變數
8.2.1 隨機信號變數的基本原理
8.2.2 隨機信號變數的分析套用實例
8.3 使用機率算法找到真命天子(女)
8.3.1 伴侶尋找問題的原理分析
8.3.2 伴倡尋找問題的數學推導
8.3.3 使用代碼模擬伴侶尋找問題
8.4 使用隨機化算法實現數據預處理
8.4.1 對輸入數組隨機排序的算法描述
8.4.2 算法的隨機性證明,
8.4.3 改進數組隨機排序算法
第9章 字元串匹配算法
視頻講解:36分鐘
9.1 基本概念介紹
9.1.1 暴力枚舉匹配法
9.1.2 字元串P中字母出現規律對算法的影響
9.2 羅賓-卡普匹配算法
9.2.1 算法的基本原理
9.2.2 算法的代碼實現
9.3 有限狀態機匹配法
9.3.1 有限狀態機的基本概念
9.3.2 有限狀態機匹配字元串原理
9.3.3 代碼實現有限狀態機
9.3.4 算法複雜度分析
9.4KMP匹配算法
9.4.1 算法的基本原理
9.4.2 KMP匹配算法的代碼實現
9.4.3 KMP匹配算法原理的數學說明
第10章 NP完全問題
視頻講解:23分鐘
10.1 NP 完全問題的基本性質
10.2 NP完全問題的等價性
10.3 如何處理 NP完全問題
10.3.1 逐步探索法
10.3.2 代碼實現二元變數賦值逐步探索法
10.3.3 增強約束條件法
10.3.4 代碼實現增強約束條件法
10.3.5 近似取代法
10.3.6 子集求和問題
10.3.7 確界分支法
10.3.8 確界分支法的代碼實現
第11章 計算幾何
視頻講解:26分鐘
11.1 相交線段檢測
11.1.1 使用向量叉乘確定線段大小
11.1.2 端點和直線的數據結構
11.1.3 如何判斷兩條線段相交
11.1.4 above(T,s)和 below(T,s)的二叉樹實現
11.1.5 檢驗線段相交的算法及其實現
11.1.6 算法的正確性
11.2 查找點集的最小突殼
11.2.1 極坐標角
11.2.2 葛萊漢姆掃描法
11.2.3 葛萊漢姆掃描法的代碼實現
11.2.4 葛萊漢姆掃描法正確性說明
11.2.5 分而治之獲取點集突殼
11.2.6 獲取兩個突殼的切線
11.2.7 合併兩個突殼

作者簡介

陳屹,海南康康餅網路科技有限公司CEO,15年開發面試經驗,曾在微軟、聯想、realplayer等公司承擔客戶端和伺服器開發工作。在算法設計、高並發、高性能伺服器、複雜系統設計、人工智慧等多個領域擁有深厚積累,其設計的編譯原理、作業系統、網路協定系統等多門原廠教學視頻在網易雲課堂收到大量好評。

相關詞條

熱門詞條

聯絡我們