圖解演算法原理(電子書)
図解まるわかり アルゴリズムのしくみ
 
作者: 増井敏克
書號: ICL065600     出版日: 2023/07/06
ISBN:     EAN:
紙本書價格: 480     附件: 
電子書: 已出版
試讀  
  Google Play 圖書
  博客來



回頁首
解析演算法結構

實際操作
加深學習
精選課堂練習

資料結構、排序、搜尋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-5 讓人一看就懂的表示法(關聯陣列、字典、雜湊、對映、碰撞
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 完全)
試試看 如何計算今年的「開運方位」?


詞彙集
索引


  
 

關於碁峰隱私權政策聯絡我們     檢視 : PC 版  手機版
碁峰資訊股份有限公司 GOTOP INFORMATION INC.
台北市南港區三重路66號7樓之6 / 7F.-6,No.66,Sanchong Rd.,Nangang District,Taipei
TEL:(02)2788-2408 FAX:(02)8192-4433 劃撥帳號:14244383
Copyright 2014© GOTOP Information Inc, All Rights Reserved 請勿任意連結、轉載