《我的第一本算法书》读书笔记

一、信息

[200808]《我的第一本算法书》 / [日]石田保辉 / [日]宮崎修一 / 人民邮电出版社
2020阅读目标达成:11/30

二、简评

★★★★☆ 书写的很生动,但是对于没有基础的人来说还是有些烧脑,配合的app《算法动画图解》理解起来会更容易一些,最好能够一遍实践,一遍学习,效果是最好的。

三、要点

数据结构:

  • 链表:其中的数据分散存储在内存空间中,数据的访问必须顺序访问,而删除和添加较为方便。
  • 数组:数据储存在连续空间中,数据的访问简单,添加和删除数据较为麻烦。
  • 栈:后进先出的数据结构形式。
  • 堆:一种图的树形结构。
  • 队列:先进先出的数据结构形式
  • 哈希表:Key-Value形式的数据结构
  • 二叉查找树:采用图的树形结构

排序:

  • 冒泡排序:从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置。
  • 选择排序:从待排序的数据中寻找最小值,将其与序列最左边的数字进行交换。
  • 插入排序:从序列左端开始依次对数据进行排序。
  • 堆排序:利用堆这种树形结构进行排序。
  • 归并排序:序列分成长度相同的两个子序列,当无法继续往下分时(也就是每个子序列中只有一个数据时),就对子序列进行归并。
  • 快速排序:首先会在序列中随机选择一个基准值(pivot),然后将除了基准值以外的数分为“比基准值小的数”和“比基准值大的数”这两个类别,再对比基准值小的数和比基准值大的数进行快速排序。

数组的查找

  • 线性查找 
  • 二分查找 

图的搜索,安全算法,聚类和其他算法

2 Replies to “《我的第一本算法书》读书笔记”

发表评论

电子邮件地址不会被公开。 必填项已用*标注