Swift常用算法經典計算機科學問題的Swift實現

Swift常用算法經典計算機科學問題的Swift實現

《Swift常用算法經典計算機科學問題的Swift實現》是2019年清華大學出版社出版的圖書,作者是[美]大衛·科帕克(David Kopec),譯者是韓智文、張傑良等。

基本介紹

  • 書名:Swift常用算法 經典計算機科學問題的Swift實現
  • 作者:大衛·科帕克
  • 譯者:韓智文、張傑良
  • 出版社:清華大學出版社
  • 出版時間:2019年1月1日
  • 定價:98 元
  • ISBN:9787302517092
內容簡介,圖書目錄,

內容簡介

《Swift常用算法 經典計算機科學問題的Swift實現》通過探究基本的編碼技術踏慨槓和算法,進一步提高讀者的Swift編程技能。讀者在領略書中關於搜尋、聚類、圖等領域的示例時,腦海中將會重現一些已經淡忘的重要內容,並將找到“新”問題的經典解決方法。作者David Kopec具有出眾的能力,將計算機科學的核心原理與諸如應拔採用、數據、性能甚至通過工作面試等現實問題加以關聯。

圖書目錄

第1章 小型只芝櫃問題 1
1.1 斐波那契數列 1
1.1.1 嘗試遞歸方法 1
1.1.2 利用基本情形 2
1.1.3 計算快取技術 4
1.1.4 保持斐波那契簡單 5
1.2 簡單數據壓縮 6
1.3 牢不可破的加密 9
1.3.1 數據排序 10
1.3.2 加密和解密 11
1.4 π的計算 12
1.5 漢辨榜籃判諾塔 13
1.5.1 漢諾塔的建模 14
1.5.2 解決漢諾塔問題 15
1.6 實際套用 16
1.7 練習 17
第2章 搜尋問題 19
2.1 DNA搜尋 19
2.1.1 存儲DNA 20
2.1.2 線性搜尋 21
2.1.3 二分搜尋 22
2.1.4 泛型示例 24
2.2 迷宮求解 25
2.2.1 生成隨機迷宮 25
2.2.2 其他迷宮細節 26
2.2.3 深度優先搜尋 28
2.2.4 廣度優先搜尋 32
2.2.5 A*搜尋 34
2.3 傳教士和食人族 39
2.3.1 問題表示 39
2.3.2 問題解決 42
2.4 實際套用 43
2.5 練習 44
第3章 約束滿足問題 45
3.1 構建約束滿足問題的解決 框架 46
3.2 澳大利亞地圖著色問題 50
3.3 八皇后問題 53
3.4 單詞搜尋問題 55
3.5 SEND+MORE=MONEY問題 59
3.6 電路板布局問題 61
3.7 實際套用 61
3.8 練習 62
第4章 圖問題 63
4.1 構建圖框架 65
4.1.1 Edge的具體實現 70
4.1.2 Graph的具體實現 70
4.2 尋找最短路徑 73
4.2.1 定義路徑 73
4.2.2 廣度優先搜尋(BFS)回顧 74
4.3 最小化網路建設成本 77
4.3.1 權 77
4.3.2 尋找最小生成樹 82
4.4 在帶權圖中尋找最短路徑 88
4.5 實際套用 93
4.6 練習 94
第5章 遺傳算法 95
5.1 生物學背景知識 95
5.2 預備知識 96
5.3 通用遺傳算法 98
5.4 簡單測試 105
5.5 重新討論SEND+MORE=MONEY問題 108
5.6 遺傳算法面臨的挑戰 112
5.7 實際套用 112
5.8 練習 113
第6章 k-均值聚類算法 115
6.1 預備知識 115
6.2 k-均值聚類算法 120
6.3 基於年齡和地理經度的州長聚類算法 124
6.4 k-均值聚類問題及其擴展 128
6.5 實際套用 129
6.6 練習 130
第7章 簡單神經網路 131
7.1 來自生物學的靈感 131
7.2 人工神經網路 133
7.2.1 神經斷漏整元 133
7.2.2 層 134
7.2.3 反向傳播 135
7.2.4 整體情況 137
7.3 預備知識 138
7.3.1 藉助隨機化 138
7.3.2 快速算法 140
7.4 激活函式 141
7.5 構建神經網路 142
7.5.1 實現神經元 143
7.5.2 層的實現 144
7.5.3 神經網路的實現 146
7.6 分類問題 149
7.6.1 歸一化數據嫌境檔 149
7.6.2 經典的iris(鳶尾屬植物)數據集 150
7.6.3 葡萄酒分類問題 154
7.7 神經網路問題及其擴展 156
7.8 實際套用 157
7.9 練習酷墊府雄 158
第8章 其他問題 159
8.1 背包問題 159
8.2 旅行推銷員問題 163
8.2.1 簡單方法 164
8.2.2 深層考慮 170
8.3 電話號碼助記符 170
8.4 井字棋 172
8.4.1 管理狀態 173
8.4.2 極小極大算法 175
8.5 實際套用 179
8.6 練習 180
附錄A 術語表 181
附錄B 更多資源 187
附錄C Swift簡史 193
4.3 最小化網路建設成本 77
4.3.1 權 77
4.3.2 尋找最小生成樹 82
4.4 在帶權圖中尋找最短路徑 88
4.5 實際套用 93
4.6 練習 94
第5章 遺傳算法 95
5.1 生物學背景知識 95
5.2 預備知識 96
5.3 通用遺傳算法 98
5.4 簡單測試 105
5.5 重新討論SEND+MORE=MONEY問題 108
5.6 遺傳算法面臨的挑戰 112
5.7 實際套用 112
5.8 練習 113
第6章 k-均值聚類算法 115
6.1 預備知識 115
6.2 k-均值聚類算法 120
6.3 基於年齡和地理經度的州長聚類算法 124
6.4 k-均值聚類問題及其擴展 128
6.5 實際套用 129
6.6 練習 130
第7章 簡單神經網路 131
7.1 來自生物學的靈感 131
7.2 人工神經網路 133
7.2.1 神經元 133
7.2.2 層 134
7.2.3 反向傳播 135
7.2.4 整體情況 137
7.3 預備知識 138
7.3.1 藉助隨機化 138
7.3.2 快速算法 140
7.4 激活函式 141
7.5 構建神經網路 142
7.5.1 實現神經元 143
7.5.2 層的實現 144
7.5.3 神經網路的實現 146
7.6 分類問題 149
7.6.1 歸一化數據 149
7.6.2 經典的iris(鳶尾屬植物)數據集 150
7.6.3 葡萄酒分類問題 154
7.7 神經網路問題及其擴展 156
7.8 實際套用 157
7.9 練習 158
第8章 其他問題 159
8.1 背包問題 159
8.2 旅行推銷員問題 163
8.2.1 簡單方法 164
8.2.2 深層考慮 170
8.3 電話號碼助記符 170
8.4 井字棋 172
8.4.1 管理狀態 173
8.4.2 極小極大算法 175
8.5 實際套用 179
8.6 練習 180
附錄A 術語表 181
附錄B 更多資源 187
附錄C Swift簡史 193

相關詞條

熱門詞條

聯絡我們