Python是一種面向對象、解釋型計算機程序設計語言,其應用領域非常廣泛,包括數據分析、自然語言處理、機器學習、科學計算以及推薦系統構建等。 本書用Python語言來講解算法的分析和設計。本書主要關注經典的算法,但同時會為讀者理解基本算法問題和解決問題打下很好的基礎。全書共11章。分別介紹了樹、圖、計數問題、歸納遞歸、遍歷、分解合并、貪心算法、復雜依賴、Dijkstra算法、匹配切割問題以及困難問題及其稀釋等內容。本書在每一章結束的時候均有練習題和參考資料,這為讀者的自我檢查以及進一步學習提供了較多的便利。在全書的結尾,給出了練習題的提示,方便讀者進行查漏補缺。 本書概念和知識點講解清晰,語言簡潔。本書適合對Python算法感興趣的初中級用戶閱讀和自學,也適合高等院校的計算機系學生作為參考教材來閱讀。
暢銷書Python基礎教程(第2版)作者、Python領域大牛又一新力作!知識點清晰,語言簡潔。
本書用Python語言來講解算法的分析和設計,主要關注經典的算法,幫助讀者理解基本算法問題和解決問題打下很好的基礎。
蘊含大量課后習題和參考資料。
Magnus Lie Hetland是一位經驗豐富的Python程序員,他自上世紀90年代以來就一直在使用該語言。同時,他還是挪威科技大學的副教授,有著數十年的算法教學經驗,是《Beginning Python》 一書作者。
目錄
第1章 引言 1
1.1 這是一本怎么樣的書 2
1.1.1 本書將主要涉及以下內容 3
1.1.2 本書還將簡單或部分涉及
以下內容 3
1.1.3 本書不會涉足以下領域 3
1.2 為什么要讀這本書 3
1.3 一些準備工作 5
1.4 本書主要內容 5
1.5 本章小結 7
1.6 如果您感興趣 7
1.7 練習題 7
1.8 參考資料 8
第2章 基礎知識 9
2.1 計算領域中一些核心理念 9
2.2 漸近記法 11
2.2.1 我看不懂這些希臘文 12
2.2.2 交通規則 14
2.2.3 讓我們拿漸近性問題
練練吧 16
2.2.4 三種重要情況 19
2.2.5 實證式算法評估 20
2.3 圖與樹的實現 24
2.3.1 鄰接列表及其類似結構 26
2.3.2 鄰接矩陣 29
2.3.3 樹的實現 32
2.3.4 多種表示法 35
2.4 請提防黑盒子 36
2.4.1 隱性平方級操作 37
2.4.2 浮點運算的麻煩 38
2.5 本章小結 41
2.6 如果您感興趣 42
2.7 練習題 42
2.8 參考資料 43
第3章 計數初步 46
3.1 求和式的含義 46
3.1.1 更多希臘字母 47
3.1.2 求和式的運用 47
3.2 兩種賽制的故事 48
3.2.1 握手問題 48
3.2.2 龜兔賽跑 50
3.3 子集與排列組合 54
3.4 遞歸與遞歸式 56
3.4.1 手動推導 57
3.4.2 幾個重要例子 59
3.4.3 猜測與檢驗 62
3.4.4 主定理:一刀切式的
解決方案 65
3.5 這一切究竟是什么呢 67
3.6 本章小結 69
3.7 如果您感興趣 69
3.8 練習題 70
3.9 參考資料 71
第4章 歸納、遞歸及歸簡 72
4.1 哦,這其實很簡單 73
4.2 一而再,再而三 74
4.3 魔鏡,魔鏡 77
4.4 基于歸納法(與遞歸法)的設計 82
4.4.1 尋找較大排列 82
4.4.2 明星問題 86
4.4.3 拓撲排序問題 88
4.5 更強的假設條件 92
4.6 不變式與正確性 94
4.7 松弛法與逐步完善 94
4.8 歸簡法 換位法=困難度證明 95
4.9 一些解決問題的建議 97
4.10 本章小結 98
4.11 如果您感興趣 98
4.12 練習題 99
4.13 參考資料 101
第5章 遍歷:算法學中的萬能鑰匙 102
5.1 公園漫步 109
5.1.1 不允許出現環路 109
5.1.2 停止循環遍歷的方式 110
5.2 繼續深入 111
5.3 無限迷宮與最短(不加權)
路徑問題 115
5.4 強連通分量 120
5.5 本章小結 123
5.6 如果您感興趣 123
5.7 練習題 124
5.8 參考資料 125
第6章 分解、合并、解決 126
6.1 樹狀問題,即平衡問題 126
6.2 經典分治算法 129
6.3 折半搜索 129
6.3.1 搜索樹的遍歷及其剪枝 132
6.3.2 選取算法 135
6.4 折半排序 137
排序操作究竟可以有多快 140
6.5 三個額外實例 140
6.5.1 最近點對問題 141
6.5.2 凸包問題 142
6.5.3 較大切片問題 144
6.6 樹的平衡與再平衡 145
6.7 本章小結 151
6.8 如果您感興趣 152
6.9 練習題 152
6.10 參考資料 153
第7章 貪心有理嗎?請證明 154
7.1 步步為營,萬無一失 154
7.2 背包問題 158
7.2.1 分數背包問題 158
7.2.2 整數背包問題 159
7.3 哈夫曼算法 159
7.3.1 具體算法 160
7.3.2 首次貪心選擇 162
7.3.3 走完剩余部分 163
7.3.4 化歸并 164
7.4 最小生成樹問題 165
7.4.1 最短邊問題 166
7.4.2 其余部分的相關情況 167
7.4.3 Kruskal算法 168
7.4.4 Prim算法 170
7.5 貪心不是問題,問題是
何時貪心 173
7.5.1 堅持做到好 173
7.5.2 盡量做到 174
7.5.3 做好安全措施 175
7.6 本章小結 177
7.7 如果您感興趣 178
7.8 練習題 178
7.9 參考資料 179
第8章 復雜依賴及其記憶體化 180
8.1 不要重復自己 181
8.2 有向無環圖中的最短路徑問題 187
8.3 最長遞增子序列問題 190
8.4 序列比對問題 193
8.5 背包問題的反擊 196
8.6 序列的二元分割 199
8.7 本章小結 202
8.8 如果您感興趣 203
8.9 練習題 203
8.10 參考資料 204
第9章 Dijkstra及其朋友們
從A到B的旅程 206
9.1 擴展知識 207
9.2 松弛可“瘋狂” 208
9.3 找到隱藏的DAG圖 213
9.4 多對多問題 216
9.5 “牽強”的子問題 218
9.6 中途相遇 220
9.7 把握未來走向 223
9.8 本章小結 226
9.9 如果您感興趣 227
9.10 練習題 228
9.11 參考資料 228
第10章 匹配、切割及流量 229
10.1 二分圖匹配 230
10.2 不相交的路徑 233
10.3 較大流問題 236
10.4 最小切割集問題 240
10.5 最小成本的流及賦值問題 241
10.6 一些應用 243
10.7 本章小結 247
10.8 如果您感興趣 247
10.9 練習題 248
10.10 參考資料 249
第11章 困難問題及其(有限)稀釋 250
11.1 重提歸簡 251
11.2 不待在肯薩斯州了 254
11.3 但目前,我們還是得回
到肯薩斯州 255
11.4 我們應從何處開始?
前往何處呢 259
11.5 怪物樂園 264
11.5.1 背包的返回 264
11.5.2 分團與著色 266
11.5.3 路徑與環路 269
11.6 當困難來臨的時候,聰明人
就開始犯錯 272
11.7 盡力尋找解決方案 275
11.8 這些故事告訴我們 277
11.9 本章小結 279
11.10 如果您感興趣 279
11.11 練習題 280
11.12 參考資料 281
附錄A 猛踩油門!令Python加速 282
附錄B 一些著名問題與算法 286
問題部分 286
算法與數據結構部分 289
附錄C 圖論基礎 295
附錄D 習題提示 301
第1章 301
第2章 301
第3章 303
第4章 304
第5章 307
第6章 308
第7章 310
第8章 312
第9章 313
第10章 314
第11章 315
促消活動買的,書還沒看,包裝不錯,有塑封。
好書,值得購買
特別想盜版,字跡模糊
非常好的書,值得入手啊
紙質太差,有很重的臭味
這本書不厚,很一般,廢話多,書本還有破損的地方,可能是運輸途中出的問題
東西不錯,快遞一如既往地快,果斷好評。
但愿能從頭到尾,不放棄。不忘初心
書看起來不錯
樹很新很好
很好!很好!很好!
算法是計算機中最核心的部分,這本書以python為工具,詳細介紹了算法的分析方法及其原理設計,簡單易懂,愿意學習python和了解算法的朋友,可以認真讀一讀。
算法是計算機中最核心的部分,這本書以python為工具,詳細介紹了算法的分析方法及其原理設計,簡單易懂,愿意學習python和了解算法的朋友,可以認真讀一讀。
很好。就是難了點。紙質非常好。就是發來的時候有點味
快遞是很給力的,包裝很好,這幾天下雨,書一點沒濕,放假了買這書來好好研究一下
學習一下算法,python版本的,不錯不錯的。
很好的一本算法入門書,特別是和python的結合,算是市面上不可多得的一本好書。
字跡印刷清晰,紙質較好;此書側重算法基礎理論講解,值得一看
wow,非常不錯的一本書,里面的算法知識很翔實
就算法而言,介紹得是很詳細的,對于python的研究很有幫助。
python功能很強大,學學算法方面的知識
人生苦短,快用python。python的算法教程絕對會讓你的python編程能力提高一大截。
算法入門級的讀物,并非純算法推導,學習使用就夠了
這本不錯,由Python實現的算法,是一本不錯的算法入門書
這本不錯,由Python實現的算法,是一本不錯的算法入門書
書印刷不錯,紙質也很好。內容按照作者所說是一種算法的補充教程,是算法入門的介紹書籍,更深層次的學習需要讀讀《算法導論》
是時候,出些與Python有關的算法書了啊
挺好的書,一直搞著python然后又想學習一下算法,這本書正適合我。不過對于算法小白還是先學習數據結構吧