《算法图解》的读书笔记(第一章)

 1.写作初衷与目的:

 这几天看了下《算法图解》这本书,正如大家所说的一样,这本书非常适合作为算法的入门教材。为了防止忘记所学的知识,这里做下读书笔记。我本身对编程挺感兴趣的,再加上想成为一个大牛级别的程序员,所以打算从零开始写自己的技术博客。

 2.二分查找:

  问题:从1到100以内找到一个需要的数字,最多需要多少步?

  如果按照简单(傻瓜)查找的话,一个个数字按顺序去猜,那么会很消耗时间。但如果按照二分查找的话,则只需要7步。

 对于包含n个元素的列表,用二分查找最多需要log2N步。

3.大O表示法:

 大O表示法让你能够比较操作数,它指出了算法运行时间的增速。

   3.1一些常见的大O运行时间:

        1.O(log n),也叫对数时间,这样的算法包括二分查找。

        2.O(n),也叫线性时间,这样的算法包括简单查找。

        3.O(n*log n),这样的算法包括快速排序。

        4.O(n^2),这样的算法包括选择排序。

        5.O(n!),这样的算法包括旅行社问题的解决方案。

4.小结:

      1.算法的速度指的并非时间,而是操作数的増速。

      2.谈论算法的速度时候,我们说的是随着输入的增加,其运行时间将以什么样的速度增加。

      3算法的时间并不以秒为单位。

       

原文地址:https://www.cnblogs.com/tzs123/p/11509425.html