我的第一本算法書(修訂版)

[日]石田保輝,[日]宮崎修一

  • 我的第一本算法書(修訂版)-preview-1
  • 我的第一本算法書(修訂版)-preview-2
我的第一本算法書(修訂版)-preview-1

商品描述

本書採用大量圖片,通過詳細的分步講解,以直觀、易懂的方式展現了各種數據結構和算法的基本原理。第1章介紹了鏈表、數組、棧等數據結構;從第2章到第8章,分別介紹了和排序、查找、圖、安全、聚類、數據壓縮等相關算法,較為全面地介紹常見算法與數據結構知識。

本書沒有枯燥的理論和復雜的公式,而是通過大量的步驟圖幫助讀者加深對數據結構原理和算法執行過程的理解,易於理解,便於學習和記憶。將本書作為算法入門的第一步,是非常不錯的選擇。

作者簡介

石田保輝,自由職業工程師,現居日本東京。2011年畢業於日本京都大學研究生院。輾轉於幾個創新型企業後獨立,成為自由職業者。2016年,個人製作的面向工程師的學習型App“算法動畫圖解”上架,不到1年時間全球下載量即達到50萬次,並入選了“App Store日本區2016年度應用”榜單。

 

宮崎修一,日本京都大學學術信息媒體中心副教授。1998年從日本九州大學博士生院工學專業畢業後,開始擔任日本京都大學研究生院信息學研究科助手,2002年起擔任現職。主要研究算法和計算復雜性理論。近期的重點研究對象為相似算法和在線算法。主要作品有《程序員的數學4:圖論入門》。

目錄大綱

序章 算法的基本知識001

0-1 什麽是算法 002

0-2 運行時間的計算方法 007

第 1章 數據結構 009

1-1 什麽是數據結構 010

1-2 鏈表 013

1-3 數組 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章 數組的查找 071

3-1 線性搜索 072

3-2 二分搜索 074

第4章 圖算法 077

4-1 什麽是圖 078

4-2 廣度優先搜索 082

4-3 深度優先搜索 086

4-4 貝爾曼- 福特算法 090

4-5 狄傑斯特拉算法 096

4-6 A* 算法103

4-7 克魯斯卡爾算法 107

4-8 普里姆算法 111

4-9 匹配算法 115

第5章 安全算法 123

5-1 安全和算法 124

5-2 加密的基礎知識 128

5-3 哈希函數 132

5-4 共享密鑰加密 136

5-5 公開密鑰加密 140

5-6 混合加密 148

5-7 迪菲- 赫爾曼密鑰交換 152

5-8 消息鑒別碼 160

5-9 數字簽名 168

5-10 數字證書 174

第6章 聚類 181

6-1 什麽是聚類 182

6-2 k 均值聚類算法 184

第7章 數據壓縮 189

7-1 數據壓縮與編碼 190

7-2 游程編碼 192

7-3 唯一可解碼 196

7-4 即時碼 200

7-5 赫夫曼編碼 204

第8章 其他算法 209

8-1 歐幾里得算法 210

8-2 素性檢驗 214

8-3 字符串匹配 218

8-4 KMP 算法 220

8-5 頁面排序算法 226

8-6 漢諾塔 234