你也能看得懂的Python算法書

你也能看得懂的Python算法書
定價:354
NT $ 354
  • 作者:王碩
  • 出版社:電子工業出版社
  • 出版日期:2018-11-01
  • 語言:簡體中文
  • ISBN10:7121352559
  • ISBN13:9787121352553
  • 裝訂:平裝 / 260頁 / 16k / 19 x 26 x 1 cm / 普通級 / 單色印刷 / 初版
 

內容簡介

編程的核心是算法,學算法不僅能教會你解決問題的方法,而且還能為你今後的發展提供一種可能。本書面向算法初學者,先介紹當下流行的編程語言Python,詳細講解了Python語言的變量和順序、分支、循環三大結構,以及列表和函數的使用,為之後學算法打好基礎。然後以通俗生動的語言講解了雙指針、哈希、深度優先、廣度優先、回溯、貪心、動態規劃和*短路徑等經典算法。
 

作者介紹

王碩,軟件工程師、北京理工大學客座講師,從事計算機教育多年,擅長Python、Java、C語言、數據結構和算法等,接觸數千學生,對算法有獨到見解。平行致力於企業級軟件開發和計算機教育工作,具有索尼中國研究院、四大國有銀行軟件開發中心工作經歷。
 
董文馨,已獲得美國斯坦福大學計算機專業Offer的IB高中生,學校編程俱樂部創辦人。從10歲開始在國外上學,精通英語,西班牙語,對數學,物理,和電腦科學有天賦。曾創辦個人文化交流網站,未來打算從事人工智能領域的工作。
 
張舒行,五年多機器人比賽經驗,長時間負責隊內編程,曾參加FLL,VEX,現為FRC隊伍5823隊員。擅長數學,曾在各大競賽中獲獎。
 
張潔,中科院軟件所博士,計算機科班出身,多年國有大型銀行信息系統開發及管理經驗。發表SCI、EI檢索論文十餘篇,在計算機圖形學、信息系統架構方面有較深造詣。
 
 

目錄

第1章 編程基礎 1
1.1 變量 1
1.1.1 輸出和輸入 2
1.1.2 簡單變量類型 3
1.1.3 數學計算 6
1.1.4 位運算 7
1.1.5 使用字符串 11
1.2 三大結構 15
1.2.1 循序結構 15
1.2.2 分支結構 16
1.2.3 條件判斷 18
1.2.4 應用分支結構 20
1.2.5 循環結構 21
1.2.6 continue和break 23
1.2.7 應用循環結構 24
1.2.8 結構的嵌套 26
1.3 列表 27
1.3.1 定義列表 27
1.3.2 對元素進行操作 28
1.3.3 列表的順序 31
1.3.4 列表內置函數 33
1.3.5 截取和拼接列表 36
1.3.6 字符串、元組和列表 38
1.3.7 用循環遍歷列表 40
1.3.8 字典簡介 41
1.4 函數 43
1.4.1 定義子函數 43
1.4.2 主函數 44
1.4.3 調用函數 45
1.4.4 全ju變量 47
1.4.5 函數的運用 48
 
第2章 雙指針問題 53
2.1 數組合併 53
2.1.1 合併有序數組 53
2.1.2 最終代碼 56
2.2 二分查找 56
2.2.1 什麼是二分查找 57
2.2.2 問題求解 58
2.2.3 最終代碼 60
2.3 鍊錶 60
2.3.1 什麼是單鍊錶 60
2.3.2 建立單鍊錶 61
2.3.3 建立雙鍊錶 63
2.3.4 雙向輸出雙鍊錶 65
2.3.5 向單鍊錶中添加元素 66
2.3.6 向雙鍊錶中添加元素 69
2.3.7 刪除列表中的元素 71
 
第3章 哈希算法 75
3.1 什麼是哈希 75
3.2 兩個數的和 78
3.2.1 問題求解1 78
3.2.2 解法1的最終代碼 80
3.2.3 問題求解2 81
3.2.4 解法2的最終代碼 82
3.3 單詞模式匹配 82
3.3.1 問題求解 83
3.3.2 最終代碼 85
3.4 猜詞遊戲 85
3.4.1 問題求解 87
3.4.2 最終代碼 88
3.5 神奇的詞根 89
3.5.1 問題求解 90
3.5.2 最終代碼 92
 
第4章 深度優先遍歷 93
4.1 什麼是深度優先遍歷 93
4.2 二叉樹 95
4.2.1 二叉樹的類型 95
4.2.2 二叉樹的相關術語 96
4.2.3 二叉樹的節點代碼 97
4.2.4 二叉樹的遍歷順序 97
4.2.5 深度優先遍歷與廣度優先遍歷 97
4.3 怎麼抓住小偷 98
4.3.1 解題思路 98
4.3.2 從思路到代碼 102
4.4 二叉樹中的路徑和 102
4.4.1 解題思路 103
4.4.2 完整代碼 112
4.5 的島嶼 113
4.5.1 解題思路 113
4.5.2 完整代碼 116
 
第5章 廣度優先遍歷 118
5.1 什麼是廣度優先遍歷 118
5.2 選課的智慧 120
5.2.1 廣度優先遍歷 121
5.2.2 問題求解 122
5.2.3 最終代碼 124
5.3 尋找制高點 125
5.3.1 問題求解 126
5.3.2 集合 129
5.3.3 最終代碼 130
5.4 合法的括號 131
5.4.1 問題求解 131
5.4.2 最終代碼 135
5.5 樹的右側 136
5.5.1 問題求解 136
5.5.2 最終代碼 139
 
第6章 回溯算法 141
6.1 什麼是回溯 141
6.2 遍歷所有排序方式 142
6.2.1 問題求解 142
6.2.2 最終代碼 144
6.3 經典問題的組合 147
6.3.1 問題求解 147
6.3.2 最終代碼 149
6.4 查找單詞問題 151
6.4.1 問題求解 152
6.4.2 最終代碼 155
6.5 八皇后問題 157
6.5.1 問題求解 158
6.5.2 最終代碼 160
6.6 教你解數獨 164
6.6.1 問題求解 165
6.6.2 最終代碼 168
 
第7章 貪心算法 172
7.1 硬幣找零問題 173
7.1.1 問題描述 173
7.1.2 最終代碼 175
7.2 活動安排問題 175
7.2.1 問題描述 176
7.2.2 最終代碼 177
7.3 哈夫曼編碼 178
7.3.1 問題描述 178
7.3.2 哈夫曼樹 179
7.3.3 貪心選擇性質 181
7.3.4 子結構性質 182
7.3.5 最終代碼 183
 
第8章 動態規划算法 185
8.1 爬樓梯問題 185
8.1.1 問題描述 186
8.1.2 最終代碼 188
8.2 礦工挖礦問題 189
8.2.1 問題描述 189
8.2.2 最終代碼 195
8.3 背包問題 195
8.3.1 問題描述 195
8.3.2 問題實例 196
8.3.3 最終代碼 201
8.4 長遞歸子序列問題 202
8.4.1 問題描述 202
8.4.2 改進算法 204
8.4.3 最終代碼 205
 
第9章 短路徑問題 207
9.1 迪可斯特朗算法 207
9.1.1 術語釋義 208
9.1.2 問題示例:短公交線路 208
9.1.3 圖與節點的定義 209
9.1.4 把圖用代碼“畫”出來 210
9.1.5 算法核心:兩個節點集合 210
9.1.6 算法核心:循環 210
9.1.7 輸出路線 211
9.1.8 通過示例理解算法 211
9.1.9 完整代碼展示 214
9.2 Floyd算法 216
9.2.1 算法核心:兩個矩陣 216
9.2.2 算法核心:通過中介點縮短距離 217
9.2.3 通過示例理解算法 218
9.2.4 完整代碼 222
9.3 A算法 223
9.3.1 算法核心:迪可斯特朗算法 223
9.3.2 算法核心:預估函數 224
9.3.3 算法核心:選擇預估函數 226
9.3.4 A算法的兄弟們 226
 
第10章 分治算法 227
10.1 什麼是分治 227
10.2 歸併排序 228
10.2.1 遞歸法與迭代法 228
10.2.2 遞歸法描述 229
10.2.3 迭代法描述 232
10.2.4 最終代碼 233
10.3 連續子列表的和 235
10.3.1 解題思路 235
10.3.2 最終代碼 237
10.4 幾何問題之凸包 238
10.4.1 問題求解 238
10.4.2 最終代碼 240
10.5 數學問題之多項式乘法 242
10.5.1 問題求解 242
10.5.2 最終代碼 245

網路書店 類別 折扣 價格
  1. 新書
    $354