大 O 表示法

大 O 表示法


 

定义

  • 大O表示法是一种特殊的表示法,指出了算法的速度有多快。谁在乎呢?
  • 实际上,你经常要 使用别人编写的算法,在这种情况下,知道这些算法的速度大有裨益。

 

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

  • O(log n),也叫对数时间,这样的算法包括二分查找
  • O(n),也叫线性时间,这样的算法包括简单查
  • O(n * log n),对数与线性结合——一种速度较快的排序算法
  • O(𝑛^2 ),这样的算法主要针对选择排序——一种速度较慢的排序算法
  • O(n!),这样的算法包括接下来将介绍的旅行商问题的解决方案——一种非常慢的算法

 图解:


 

启示录:

  1. 算法的速度指的并非时间,而是操作数的增速。
  2. 谈论算法的速度时,我们说的是随着输入的增加,其运行时间将以什么样的速度增加。
  3. 算法的运行时间用大O表示法表示。
  4. O(log n)比O(n)快,当需要搜索的元素越多时,前者比后者快得越多。

 

 

 P.S : 本文学习《算法图解》,如有雷同或不适之处,望读者指出,并与笔者私信联系,谢谢!

 

posted @ 2019-05-22 18:08  Harp_Yestar  阅读(174)  评论(0编辑  收藏  举报