Swift常用算法 經典計算機科學問題的Swift實現
作 者: (美)大衛·科帕克(David Kopec) 著 韓智文 等 譯
定 價: 98
出?版?社: 清華大學出版社
出版日期: 2019年01月01日
頁 數: 200
裝 幀: 平裝
ISBN: 9787302517092
● 章 小型問題
1.1 斐波那契數列
1.1.1 嘗試遞歸方法
1.1.2 利用基本情形
1.1.3 計算緩存技術
1.1.4 保持斐波那契簡單
1.2 簡單數據壓縮
1.3 牢不可破的加密
1.3.1 數據排序
1.3.2 加密和解密
1.4 π的計算
1.5 漢諾塔
1.5.1 漢諾塔的建模
1.5.2 解決漢諾塔問題
1.6 實際應用
1.7 練習
第2章 搜索問題
2.1 DNA搜索
2.1.1 存儲DNA
2.1.2 線性搜索
2.1.3 二分搜索
2.1.4 泛型示例
2.2 迷宮求解
2.2.1 生成隨機迷宮
2.2.2 其他迷宮細節
2.2.3 深度優先搜索
2.2.4 廣度優先搜索
2.2.5 A*搜索
2.3 傳教士和食人族
2.3.1 問題表示
2.3.2 問題解決
2.4 實際應用
2.5 練習
第3章 約束滿足問題
3.1 構建約束滿足問題的解決框架
3.2 澳大利亞地圖著色問題
3.3 八皇後問題
3.4 單詞搜索問題
3.5 SEND+MORE=MONEY問題
3.6 電路板布局問題
3.7 實際應用
3.8 練習
第4章 圖問題
4.1 構建圖框架
4.1.1 Edge的具體實現
4.1.2 Graph的具體實現
4.2 尋找最短路徑
4.2.1 定義路徑
4.2.2 廣度優先搜索(BFS)回顧
4.3 最小化網絡建設成本
4.3.1 權
4.3.2 尋找最小生成樹
4.4 在帶權圖中尋找最短路徑
4.5 實際應用
4.6 練習
第5章 遺傳算法
5.1 生物學背景知識
5.2 預備知識
5.3 通用遺傳算法
5.4 簡單測試
5.5 重新討論SEND+MORE=MONEY問題
5.6 遺傳算法面臨的挑戰
5.7 實際應用
5.8 練習
第6章 k-均值聚類算法
6.1 預備知識
6.2 k-均值聚類算法
6.3 基於年齡和地理經度的州長聚類算法
6.4 k-均值聚類問題及其擴展
6.5 實際應用
6.6 練習
第7章 簡單神經網絡
7.1 來自生物學的靈感
7.2 人工神經網絡
7.2.1
7.2.2 層
7.2.3 反向傳播
7.2.4 整體情況
7.3 預備知識
7.3.1 借助隨機化
7.3.2 快速算法
7.4 激活函數
7.5 構建神經網絡
7.5.1 實
7.5.2 層的實現
7.5.3 神經網絡的實現
7.6 分類問題
7.6.1 歸一化數據
7.6.2 經典的iris(鳶尾屬植物)數據集
7.6.3 葡萄酒分類問題
7.7 神經網絡問題及其擴展
7.8 實際應用
7.9 練習
第8章 其他問題
8.1 背包問題
8.2 旅行推銷員問題
8.2.1 簡單方法
8.2.2 深層考慮
8.3 電話號碼助記符
8.4 井字棋
8.4.1 管理狀態
8.4.2 極小極大算法
8.5 實際應用
8.6 練習
附錄A 術語表
附錄B 更多資源
附錄C Swift簡史
內容簡介
《Swift常用算法 經典計算機科學問題的Swift實現》通過探究基本的編碼技術和算法,進一步提高讀者的Swift編程技能。讀者在領略書中關於搜索、聚類、圖等領域的示例時,腦海中將會重現一些已經淡忘的重要內容,並將找到“新”問題的經典解決方法。作者David Kopec具有出眾的能力,將計算機科學的核心原理與諸如應用、數據、性能甚至通過工作面試等現實問題加以關聯。
特色內容:
寬度優先、深度優先、A*搜索算法。
約束滿足問題。
使用圖算法來解決問題。
神經網絡、遺傳算法等。
全部代碼示例采用Swift 4.1編寫。
(美)大衛·科帕克(David Kopec) 著 韓智文 等 譯
大衛·科帕克,是佛蒙特州伯靈頓的尚普蘭學院計算機科學與創新專業的副教授。他是一名經驗豐富的iOS開發人員,也是Dart for Absolute Beginners(Apress出版社,2014年出版)一書的作者。David擁有達特茅斯學院的經濟學學士學位和計算機科學碩士學位。
"