
0人評分過此書
圖解演算法原理
內容簡介:解析演算法結構
實際操作
加深學習
精選課堂練習
資料結構、排序、搜尋etc…
從基礎到應用準則完全圖解
‧詳細講解各種演算法的特色
・學會如何選擇適當的演算法
・跨頁閱讀適合初學者或複習自學
・涵蓋機器學習結構到活用範例
堅實的基礎知識「實用」的工具書
需要懂得因應場景選擇適當的演算法,才能夠建立有效率的程式。即便獲得的成果相同,但使用的演算法會讓處理效率大不相同。不過對演算法抱持著「看不出有什麼差異」「好複雜好像很難」排斥心態的學習者想必是大有人在。因此,本書中的每個主題皆是以跨頁,並搭配圖解的講解方式幫助讀者從零開始學習演算法的基礎知識。
推薦給符合以下條件的讀者
‧想學習演算法的基礎知識
‧想拓展知識領域更上一層樓
‧想成為懂得如何選擇演算法的人
‧想成為能快速又正確建立程式的人
實際操作
加深學習
精選課堂練習
資料結構、排序、搜尋etc…
從基礎到應用準則完全圖解
‧詳細講解各種演算法的特色
・學會如何選擇適當的演算法
・跨頁閱讀適合初學者或複習自學
・涵蓋機器學習結構到活用範例
堅實的基礎知識「實用」的工具書
需要懂得因應場景選擇適當的演算法,才能夠建立有效率的程式。即便獲得的成果相同,但使用的演算法會讓處理效率大不相同。不過對演算法抱持著「看不出有什麼差異」「好複雜好像很難」排斥心態的學習者想必是大有人在。因此,本書中的每個主題皆是以跨頁,並搭配圖解的講解方式幫助讀者從零開始學習演算法的基礎知識。
推薦給符合以下條件的讀者
‧想學習演算法的基礎知識
‧想拓展知識領域更上一層樓
‧想成為懂得如何選擇演算法的人
‧想成為能快速又正確建立程式的人
- 前言
-
第1章 演算法的基本概念~演算法的功能有哪些?~
-
1-1 快速準確的計算步驟 程式設計、演算法
-
1-2 方便處理的資料 文字檔、二進位檔案、非結構化資料、結構化資料、資料結構
-
1-3 什麼是「好的程式」? 效率性
-
1-4 比較演算法的基準 計算複雜度、Order、大O符號
-
1-5 認識程式語言的差異 程式語言、編譯器、直譯器、JIT編譯器
-
1-6 好用的演算法都在這 函式庫
-
1-7 演算法的權限 專利權、軟體專利、著作權、公開資源
-
1-8 圖解演算法 流程圖
-
1-9 用寫的計算演算法 長除法
-
1-10 查找質數 質數、埃拉托斯特尼篩法
-
1-11 找出共同最大因數 最大公因數、輾轉相除法
-
1-12 益智遊戲引導學習演算法 河內塔
-
1-13 使用隨機值的測試法 亂數、虛擬亂數、種子值、蒙特卡羅方法
-
試試看 比較各個函數中的數值是如何增加的
-
-
第2章 檔案的保存方式~各個的結構與特徵~
-
2-1 整數的表現方式 10進位、2進位、16進位
-
2-2 資料的單位 Bit、Byte
-
2-3 小數的表現方式 小數、浮點數、實數
-
2-4 字元的表現方式 字元、字元編碼、ASCII、雙位元組字元、亂碼
-
2-5 命名特定的名稱位址 變數、賦值、常數
-
2-6 保存資料的大小 型別、資料型別、型別轉換
-
2-7 連續儲存空間 陣列、元素、索引
-
2-8 讓人一看就懂的表示法 關聯陣列、字典、雜湊、對映、碰撞
-
2-9 存放資料的位置 位址、指標
-
2-10 存放表格資料 二維陣列、多維陣列
-
2-11 存放單字或文章 字串、NULL字元
-
2-12 結構複雜的資料型態 結構型別、列舉型別
-
2-13 直線排列的結構 鏈結串列
-
2-14 雙向連接的結構 雙向鏈結串列、環狀鏈結串列
-
2-15 樹狀分支的保存結構 樹狀結構、二元樹、完全二元樹
-
2-16 滿足條件的樹狀結構 堆積
-
2-17 適用於搜尋的資料結構 二元搜尋樹、平衡樹
-
2-18 平衡的樹狀結構 B樹、B+樹、B*樹
-
2-19 儲存無序資料 集合
-
2-20 取出最後儲存的資料 堆疊、LIFO、push(堆入)、pop(取出)
-
2-21 按照先後順序取出的結構 佇列、FIFO、入列、出列
-
2-22 虛擬記憶體的快取檔案置換機制 虛擬記憶體、快取檔案置換機制、LFU、LRU
-
試試看 計算儲存資料所需的容量
-
-
第3章 重新排列資料順序~依照規則排列數值~
-
3-1 升序或降序的排列 排序
-
3-2 保證相同鍵值的順序 穩定排序、內部排序、外部排序
-
3-3 選擇最大值和最小值排序 選擇排序
-
3-4 將要排序的元素加入已排序陣列 插入排序
-
3-5 與當前元素比較 氣泡排序
-
3-6 雙向排序陣列元素 雞尾酒排序
-
3-7 併用交換與插入提升效能 希爾排序
-
3-8 堆積結構的排序 堆積排序
-
3-9 比較多筆資料並進行合併 合併排序
-
3-10 常用於快速重新排序的方法 快速排序、分治法
-
3-11 取值範圍內有效 桶排序、Bin Sort、基數排序
-
3-12 預留排序的空間 圖書館排序、跳躍鏈結串列
-
3-13 會心一笑的排序方式 史達林排序、猴子排序
-
3-14 該選用什麼方式? 如何比較排序法
-
試試看 請試著繪製排序的流程圖
-
-
第4章 搜尋資料~如何快速尋找目標值?~
-
4-1 從多筆資料當中找出吻合條件值 搜尋
-
4-2 徹頭徹尾的搜尋方式 暴力法、窮舉法
-
4-3 從頭依序搜尋 線性搜尋
-
4-4 有序資料的搜尋方式 二分搜尋法
-
4-5 按距離遠近的搜尋方式 廣度優先搜尋
-
4-6 按左右相鄰的搜尋方式 深度優先搜尋、回溯法
-
4-7 深入層級的搜尋方式 遞迴、遞迴呼叫、剪枝法
-
4-8 搜尋樹狀結構的順序差異 前序走訪、中序走訪、後序走訪、波蘭表示法、逆波蘭表示法
-
4-9 進行反向的搜尋方式 雙向搜尋
-
4-10 改變起點和終點的搜尋方式 尺取法
-
4-11 以邊長求解最短路徑的搜尋方式 最短路徑問題、貝爾曼-福特演算法
-
4-12 以節點求解最短路徑的搜尋方式 戴克斯特拉演算法
-
4-13 啟發式搜尋法 A*演算法、歐幾里得距離、曼哈頓距離
-
4-14 求出最大利益的方法 極小化極大演算法、Alpha beta剪枝法
-
4-15 從文章中搜尋字串 暴力搜尋法、樸素演算法、KMP演算法
-
4-16 搜尋字串的小技巧 Boyer-Moore演算法
-
4-17 搜尋符合特定模式的字串 正規表達式
-
試試看 我們熟悉的搜尋方法有哪些?
-
-
第5章 使用在機器學習上的運算法~實現AI的計算方式~
-
5-1 從資料進行分類和預測 機器學習、統計式機器學習
-
5-2 有正確解答的學習方式 監督式學習、過擬合
-
5-3 從資料抓出特徵並分類的學習方式 非監督式學習、聚類分析
-
5-4 獎勵最佳行為的學習方式 強化學習、行動、智能體、環境、狀態、多智能體系統
-
5-5 以樹狀結構實現分類和迴歸 決策樹、基尼不純度、信息增益
-
5-6 採多數表決的決策樹 隨機森林、集成學習、裝袋演算法、提升演算法
-
5-7 分離邊界使間隔最大化 支持向量機、超平面、硬間隔、軟間隔
-
5-8 用機率預測0到1的範圍 迴歸分析、最小平方法、邏輯迴歸分析
-
5-9 模仿人腦結構量化訊息 神經網路、反向傳播法
-
5-10 更深入的學習方式 深度學習、CNN、RNN
-
5-11 生成假資料的AI技術 GAN、深偽技術
-
5-12 去除影像雜訊和增強輪廓 影像濾波器、平滑化、邊緣檢測
-
5-13 隨機抽樣的執行方式 隨機演算法、啟發式演算法
-
5-14 模擬生物進化的過程 遺傳演算法
-
5-15 隨時間經過改變隨機性 爬山演算法、模擬退火法
-
5-16 強化學習鄰近的樣本 自組織映射圖
-
5-17 快速求近似解的方法 牛頓法、梯度下降法、隨機梯度下降法
-
5-18 分類大量資料 k平均演算法、K-means++演算法
-
5-19 降低資料的維度表示新的特徵 主成分分析
-
試試看 我們熟悉的AI應用實例有哪些?
-
-
第6章 其他常見的演算法~活用於日常中的應用實例~
-
6-1 分割成許多更小的問題 動態規劃、記憶化搜尋
-
6-2 縮減資料容量 壓縮檔、解壓縮檔、展開檔案
-
6-3 連續壓縮 變動長度編碼法、霍夫曼編碼法
-
6-4 檢測輸入錯誤 校驗碼、同位元檢查碼
-
6-5 去除雜訊和干擾 錯誤更正碼、漢明碼
-
6-6 利用加密演算法提升安全性 加密、解密、密文、明文
-
6-7 最簡單的加密與解密方法 凱薩密碼、ROT13
-
6-8 對系統開銷小的加密方式 對稱式加密法、私密金鑰加密法、金鑰分配問題
-
6-9 安全地共享金鑰 Diffie-Hellman密鑰交換
-
6-10 利用極大整數之質因數無法分解的特性 公開金鑰加密、RSA加密演算法
-
6-11 用較短的密鑰長度確保安全性 橢圓曲線密碼學、安全威脅
-
6-12 使用在社群網站的演算法 Facebook、Twitter、六度分隔理論
-
6-13 Google使用的演算法 網站排名演算法、RankBrain
-
6-14 從未知數中做出決策 A/B測試、吃角子老虎演算法
-
6-15 訪問所有城市的最小路徑成本 旅行推銷員問題、工作排程問題
-
6-16 放入物品的價值總和最大化 背包問題、0/1背包問題
-
6-17 無解的演算法 圖靈機、停機問題
-
6-18 答對可贏得100萬美元?的超級難題 P問題、NP問題、P≠NP問題、NP困難、NP完全
-
試試看 如何計算今年的「開運方位」?
-
- 詞彙集
- 索引
評分與評論
請登入後再留言與評分