首页 > 编程语言 > 详细

算法的时间复杂度—大O表示法

时间:2020-05-21 00:58:36      阅读:91      评论:0      收藏:0      [点我收藏+]

大O表示法(Order)

O(f(n))表示的是算法的时间复杂度,表示规模为n的问题需要的时间与f(n)成正比,即f(n)阶。其中函数 f(n) 称为增率函数(growth-rate function)。
比如:

  • 若规模为n的问题需要的时间与n成正比,则问题表示为O(n),即n阶
  • 若需要的时间与\(n^2\)成正比,则问题表示为O(\(n^2\)),以此类推。

注意:

  • 大O表示法指出的是最糟糕的情况下的运行时间,表示算法的上限。比如O(n)在查找的时候可能第1次就找到了
  • 算法的速度,是随着输入的增加,其运行时间将以什么样的速度增加。

常用的5种大O运行时间

  • O(log n) :也叫对数时间,比如二分查找
  • O(n) :也叫线性时间,比如简单查找
  • O(nlog n) :比如快速查找
  • O(\(n^2\)) :比如选择排序
  • O(n!) :也比如旅行商问题

5种大O运行时间图示

技术分享图片

算法的时间复杂度—大O表示法

原文:https://www.cnblogs.com/laiyaling/p/12927358.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!