作者簡介
石田保輝
自由業工程師。2011年京都大學研究所碩士課程結業。曾任職於幾家新創公司,後獨立成為自由業。2016年製作上架以工程師為對象的學習APP「アルゴリズム図鑑」。上架後不到一年即達成全世界50萬次下載,獲選「Apple 2016年度最佳APP」。
宮崎修一
兵庫縣立大學資訊科學研究科教授。1998年九州大學大學院博士(工學)課程結業。1998年起擔任京都大學研究所情報學研究科助理,2002年升任助理教授,2007年為副教授,2022年從事現職。從事演算法和計算複雜性理論的研究,近來鑽研近似演算法和線上演算法。主要著作為《圖論入門:基礎與演算法》(グラフ理論入門~基本とアルゴリズム,2015年,森北出版)、《穩定匹配的數理與演算法:追求不出問題的分配》(安定マッチングの数理とアルゴリズム~トラブルのない配属を求めて~,2018年,現代数学社)、《演算法理論基礎》(アルゴリズム理論の基礎,2019年,森北出版)。
譯者簡介
陳彩華
成功大學材料工程系畢,赴日就讀國貿,歷經業務、施工現場、產業廢棄物處理等工作,目前在日本主要從事電腦與IT系統管理工作。
兼職譯者,業餘馬拉松跑者以及重度文字中毒者。譯有《圖解建築施工入門》、《樓梯,上上下下的好設計》、《圖解建築物理環境入門》等書。
前言
關於APP「アルゴリズム図鑑」(演算法圖鑑)
【序章 演算法的基礎】
0-1 何謂演算法?
0-2 執行時間的量測方法
【第1章 資料結構】
1-1 何謂資料結構?
1-2 列表
1-3 陣列
1-4 堆疊
1-5 佇列
1-6 雜湊表
1-7 堆積
1-8 二元搜尋樹
【第2章 排序】
2-1 何謂排序?
2-2 氣泡排序
2-3 選擇排序
2-4 插入排序
2-5 堆積排序
2-6 合併排序
2-7 快速排序
【第3章 陣列搜尋】
3-1 線性搜尋
3-2 二元搜尋
【第4章 圖形搜尋】
4-1 何謂圖形?
4-2 廣度優先搜尋
4-3 深度優先搜尋
4-4 貝爾曼―福特演算法
4-5 戴克斯特拉演算法
4-6 A*演算法
4-7克魯斯克爾演算法
4-8普林演算法
4-9匹配演算法
【第5章 安全性演算法】
5-1 安全性和演算法
5-2 加密的基礎
5-3 雜湊函數
5-4 共用金鑰密碼系統
5-5 公開金鑰密碼系統
5-6 混成密碼系統
5-7 迪菲―赫爾曼金鑰交換
5-8 訊息鑑別碼
5-9 數位簽章
5-10 數位憑證
【第6章 分群】
6-1 何謂分群?
6-2 k-means演算法
【第7章 數據壓縮】
7-1 數據壓縮與編碼
7-2 運行長度編碼
7-3 唯一可解編碼
7-4 瞬時編碼
7-5 霍夫曼編碼
【第8章 其他的演算法】
8-1 輾轉相除法
8-2 質數判定法
8-3 字串比對
8-4 字串尋找演算法
8-5 網頁排名
8-6 河內塔