一、信息
[200808]《我的第一本算法书》 / [日]石田保辉 / [日]宮崎修一 / 人民邮电出版社
2020阅读目标达成:11/30
二、简评
★★★★☆ 书写的很生动,但是对于没有基础的人来说还是有些烧脑,配合的app《算法动画图解》理解起来会更容易一些,最好能够一遍实践,一遍学习,效果是最好的。
三、要点
数据结构:
- 链表:其中的数据分散存储在内存空间中,数据的访问必须顺序访问,而删除和添加较为方便。
- 数组:数据储存在连续空间中,数据的访问简单,添加和删除数据较为麻烦。
- 栈:后进先出的数据结构形式。
- 堆:一种图的树形结构。
- 队列:先进先出的数据结构形式
- 哈希表:Key-Value形式的数据结构
- 二叉查找树:采用图的树形结构
排序:
- 冒泡排序:从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置。
- 选择排序:从待排序的数据中寻找最小值,将其与序列最左边的数字进行交换。
- 插入排序:从序列左端开始依次对数据进行排序。
- 堆排序:利用堆这种树形结构进行排序。
- 归并排序:序列分成长度相同的两个子序列,当无法继续往下分时(也就是每个子序列中只有一个数据时),就对子序列进行归并。
- 快速排序:首先会在序列中随机选择一个基准值(pivot),然后将除了基准值以外的数分为“比基准值小的数”和“比基准值大的数”这两个类别,再对比基准值小的数和比基准值大的数进行快速排序。
数组的查找
- 线性查找
- 二分查找
图的搜索,安全算法,聚类和其他算法
了解了解!
建议看《算法导论》是教材来的。系统性强很多。
感谢分享