扫描右侧图片或微信搜索 “ Java技术分享屋 ” ,回复 “ 验证码 ” ,获取验证密码。
本资料仅供读者预览及学习交流使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
一.资料图片
二.资料简介
本书以 iOS 和 Android 平台上的应用程序“算法动画图解”为基础,以图配文,详细讲解了各种算法和数据结构的基本原理。如果本书能够帮助大家理解基本算法的操作和特征,那么我将感到十分荣幸。
使用不同的算法解决同一个问题时,就算得到的结果是一样的,算法之间的性质也有很大的差异。比如,某个算法的运行时间很短,但需要占用大量内存;而另一个算法运行时间较长,但内存资源占用较少。学习各种算法可以使我们在编程时有更多的选择。成为优秀程序员的必要条件之一,就是可以根据应用场景选择最合适的算法。
如果您对算法有兴趣,还可以挑战一下“算法理论”这门学科,试着去发现更高效的算法,或者研究目前用算法还无法解决的问题。
三.作者简介
石田保辉
自由职业工程师,现居日本东京。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