《算法图解》笔记
看书还得写笔记,文字的写不来,还是写电子的,自己的字跟狗爬一样,打出来的字好多了。 后续把自己看的基本关于网络的书也写点博客,一便于查寻,二便于加强记忆,要不然跟小说一样,看了就忘了。 第1章:算法介绍 理解大O表示法,并非以秒为单位。大O表示法让你能够比较操作数,它指出了算法运行时间的增速。 大O表示法说的是在查找情况中最糟的情形。 从快到慢晕倒的5种大O运行时间。 O(log n),也叫对数时间,这样的算法包括二分查找。 O(n), 也叫线性时间,这样的算法包括简单查找。 O(n * log n),这样的算法包括快速排序---一种比较快的排序算法 O(n2)【表示n的平方】, 这样的算法包括选择排序---一种速度较慢的排序算法 O(n!), 这样的算法包括旅行商的解决方案---一种非常慢的算法 第一章主要理解: 算法的速度指的并非时间,而是操作数的增速。 讨论算法的速度时,我们说的是随着输入的增加,其运行时间将以什么样的速度增加。 算法的运行时间用大O表示法表示。 O(log n)比O(n)快,当需要搜索的元素越多时,前者比后者快很多。 小结: 二分查找的速度比简单查找快很多。 O(logn)比O(n)快。需要搜索的元素越多,前者比后者就快得更多 算法运行时间并不以秒为单位。 算法运行时间是从其增速的角度度量的。 算法运行时间用大O表示法表示 最后上书中的二分查找代码 def