本书采用大量图片,通过详细的分步讲解,以直观、易懂的方式展现了7个数据结构和26个基础算法的基本原理。第1章介绍了链表、数组、栈等7个数据结构;从第2章到第7章,分别介绍了和排序、查找、图论、安全、聚类等相关的26个基础算法,内容涉及冒泡排序、二分查找、广度优先搜索、哈希函数、迪菲 - 赫尔曼密钥交换、k-means 算法等。
本书没有枯燥的理论和复杂的公式,而是通过大量的步骤图帮助读者加深对数据结构原理和算法执行过程的理解,便于学习和记忆。将本书作为算法入门的第一步,是非常不错的选择。
......(更多)
石田保辉
自由职业工程师,现居日本东京。2011年毕业于日本京都大学研究生院。辗转于几个创新型企业后独立,成为自由职业者。2016年,个人制作的面向工程师的学习型App“算法动画图解”上架,不到1年时间全球下载量即达到50万次,并入选了“App Store日本区2016年度最佳应用”榜单。
宫崎修一
日本京都大学学术信息媒体中心副教授。1998年从日本九州大学博士生院工学专业毕业后,开始担任日本京都大学研究生院信息学研究科助手,2002年起担任现职。主要研究算法和计算复杂性理论。近期的重点研究对象为相似算法和在线算法。主要著作有《图论入门:基本知识和算法》(日本森北出版社,2015年)。
......(更多)
序章 算法的基本知识 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
第5章 安全算法 107
5-1 安全和算法 108
5-2 加密的基础知识 112
5-3 哈希函数 116
5-4 共享密钥加密 120
5-5 公开密钥加密 124
5-6 混合加密 132
5-7 迪菲- 赫尔曼密钥交换 136
5-8 消息认证码 144
5-9 数字签名 152
5-10 数字证书 158
第6章 聚类 165
6-1 什么是聚类 166
6-2 k-means 算法 168
第7章 其他算法 173
7-1 欧几里得算法 174
7-2 素性测试 178
7-3 网页排名 182
7-4 汉诺塔 190
......(更多)
算法和程序有些相似,区别在于程序是以计算机能够理解的编程语言编写而成的,可以在计算机上运行,而算法是以人类能够理解的方式描述的,用于编写程序之前。
......(更多)