本書采用大量圖片,通過詳細的分步講解,以直觀、易懂的方式展現(xiàn)了7個數(shù)據(jù)結構和26個基礎算法的基本原理。第1章介紹了鏈表、數(shù)組、棧等7個數(shù)據(jù)結構;從第2章到第7章,分別介紹了和排序、查找、圖論、安全、聚類等相關的26個基礎算法,內容涉及冒泡排序、二分查找、廣度優(yōu)先搜索、哈希函數(shù)、迪菲 - 赫爾曼密鑰交換、k-means 算法等。
本書沒有枯燥的理論和復雜的公式,而是通過大量的步驟圖幫助讀者加深對數(shù)據(jù)結構原理和算法執(zhí)行過程的理解,便于學習和記憶。將本書作為算法入門的第一步,是非常不錯的選擇。
1.481張步驟圖詳解26個算法和7個數(shù)據(jù)結構的基本原理
2.沒有枯燥的理論和復雜的代碼,易于理解
3.采用大量彩色圖片,清晰直觀,便于記憶
4.零基礎也能輕松掌握,自學算法的好搭檔
石田保輝(作者)
自由職業(yè)工程師,現(xiàn)居日本東京。2011年畢業(yè)于日本京都大學研究生院。輾轉于幾個創(chuàng)新型企業(yè)后獨立,成為自由職業(yè)者。2016年,個人制作的面向工程師的學習型App“算法動畫圖解”上架,不到1年時間全球下載量即達到50萬次,并入選了“App Store日本區(qū)2016年度*佳應用”榜單。
宮崎修一(作者)
日本京都大學學術信息媒體中心副教授。1998年從日本九州大學博士生院工學專業(yè)畢業(yè)后,開始擔任日本京都大學研究生院信息學研究科助手,2002年起擔任現(xiàn)職。主要研究算法和計算復雜性理論。近期的重點研究對象為相似算法和在線算法。主要著作有《圖論入門:基本知識和算法》(日本森北出版社,2015年)。
目錄
序章 算法的基本知識 001
0-1 什么是算法 002
0-2 運行時間的計算方法 007
第 1章 數(shù)據(jù)結構 009
1-1 什么是數(shù)據(jù)結構 010
1-2 鏈表 013
1-3 數(shù)組 016
1-4 !020
1-5 隊列 022
1-6 哈希表 024
1-7 堆 032
1-8 二叉查找樹 036
第 2章 排序 043
2-1 什么是排序 044
2-2 冒泡排序 046
2-3 選擇排序 050
2-4 插入排序 052
2-5 堆排序 056
2-6 歸并排序 060
2-7 快速排序 064
第3章 數(shù)組的查找 071
3-1 線性查找 072
3-2 二分查找 074
第4章 圖的搜索 077
4-1 什么是圖 078
4-2 廣度優(yōu)先搜索 082
4-3 深度優(yōu)先搜索 086
4-4 貝爾曼- 福特算法 090
4-5 狄克斯特拉算法 096
4-6 A* 算法 103
第5章 安全算法 107
5-1 安全和算法 108
5-2 加密的基礎知識 112
5-3 哈希函數(shù) 116
5-4 共享密鑰加密 120
5-5 公開密鑰加密 124
5-6 混合加密 132
5-7 迪菲- 赫爾曼密鑰交換 136
5-8 消息認證碼 144
5-9 數(shù)字簽名 152
5-10 數(shù)字證書 158
第6章 聚類 165
6-1 什么是聚類 166
6-2 k-means 算法 168
第7章 其他算法 173
7-1 歐幾里得算法 174
7-2 素性測試 178
7-3 網(wǎng)頁排名 182
7-4 漢諾塔 190