圖解算法——使用Python

圖解算法——使用Python

《圖解算法——使用Python》是2018年10月清華大學出版社出版的圖書,作者是吳燦銘、胡昭民。

基本介紹

  • 中文名:圖解算法——使用Python
  • 作者:吳燦銘、胡昭民
  • 出版社:清華大學出版社
  • 出版時間:2018年10月
  • 定價:49 元
  • ISBN:9787302509882
內容簡介,圖書目錄,

內容簡介

本書是一本綜合講述數據結構及其算法的入門書,力求簡潔、清晰、嚴謹且易於學習和掌握,並沒有追求大而全的數據結構和所有相關的算法,而是選擇經典的算法來配合介紹常用的數據結構,包括數組、鍊表、堆疊、佇列以及樹和圖等。
本書為每個算法及其數據結構均提供了演算的詳細圖解,並為每個經典的算法都提供了Python語言編寫的完整範例程式(包含完整的原始碼)。每個範例程式都經過了測試和調試,可以直接在標準的Python解釋器中運行,非常適合作為普及型的教科書或自學讀物。

圖書目錄

目 錄
第1章 進入算法的世界 1
1.1 生活中到處都是算法 2
1.1.1 算法的定義 3
1.1.2 算法的條件 4
1.1.3 時間複雜度O(f(n)) 6
1.2 常見算法簡介 7
1.2.1 分治法 8
1.2.2 遞歸法 9
1.2.3 貪心法 11
1.2.5 疊代法 13
1.2.6 枚舉法 14
1.2.7 回溯法 15
【課後習題】 18
第2章 常用的數據結構 19
2.1 認識數據結構 19
2.2 數據結構的種類 22
2.2.1 數組 23
2.2.2 鍊表 25
2.2.3 堆疊 26
2.2.4 佇列 27
2.3 樹形結構 28
2.3.1 樹的基本觀念 29
2.3.2 二叉樹 30
2.4 圖形結構簡介 32
2.5 哈希表 34
【課後習題】 35
第3章 排序算法 36
3.1 認識排序 37
3.6 合併排序法 46
【課後習題】 53
第4章 查找與哈希算法 54
4.1 常見查找算法的介紹 55
4.1.2 二分查找法 56
4.1.3 插值查找法 58
4.2 常見的哈希法簡介 60
4.2.1 除留餘數法 60
4.2.3 摺疊法 62
4.2.4 數字分析法 63
4.3 碰撞與溢出問題的處理 64
4.3.1 線性探測法 64
4.3.2 平方探測法 65
4.3.3 再哈希法 66
【課後習題】 67
第5章 數組與鍊表算法 68
5.1 矩陣 68
5.1.1 矩陣相加算法 69
5.1.2 矩陣相乘 70
5.1.3 轉置矩陣 72
5.2 建立單向鍊表 73
5.2.1 單向鍊表的連線功能 74
5.2.2 單向鍊表的節點刪除 76
5.2.3 單向鍊表的反轉 79
【課後習題】 82
第6章 堆疊與佇列算法 83
6.1 用數組實現堆疊 83
6.2 用鍊表實現堆疊 85
6.3 漢諾塔問題的求解算法 87
6.4 八皇后問題的求解算法 93
6.5 用數組實現佇列 95
6.6 用鍊表實現佇列 98
6.7 雙向佇列 100
6.8 優先佇列 103
【課後習題】 104
第7章 樹形結構及其算法 105
7.1 用數組實現二叉樹 107
7.2 用鍊表實現二叉樹 109
7.4 二叉樹節點的查找 115
7.5 二叉樹節點的插入 116
7.6 二叉樹節點的刪除 118
7.7 堆積樹排序法 121
【課後習題】 127
第8章 圖的數據結構及其算法 129
8.1 圖的遍歷 129
8.1.1 深度優先遍曆法 130
8.1.2 廣度優先遍曆法 132
8.2 最小生成樹(MST) 136
8.2.1 Prim算法 136
8.2.2 Kruskal算法 138
8.3 圖的最短路徑法 142
8.3.1 Dijkstra算法與 A* 算法 143
8.3.2 Floyd算法 148
【課後習題】 152
附錄 習題和解答 155

相關詞條

熱門詞條

聯絡我們