码迷,mamicode.com
首页 > 其他好文 > 详细

大O表示法

时间:2019-07-04 00:13:46      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:优劣   运行   元素   二分   排序   特殊   表示法   无法   选择   

一、大O表示法定义

大O表示法是一种特殊的表示法,指出了算法的速度有多快。当然是趋向于操作的次数,因为每种操作的方式不同所需的时间也就无法统一。大O表示法通常作为一个算法优劣的标准,越快越好,数值越小越快。

 

二、大O表示法语法

O(n)

例:

假设列表有n个元素,简单查找需要查找每个元素,因此需要执行n次操作。使用大O表示法记做:O(n)

如果用二分法查找,则需要执行 log 2次操作。使用大O表示法记做:O(log 2n)

 

三、理解大O表示法

大O表示法记录的是最糟糕情况下的运行次数。

从上面可以看到简单查找记做:O(n)

架设n=100,查找1时实际才执行1次,查找100时,n才等于100。同样记做:O(100)

同样用二分法在1~100查找50时则只需执行一次,在最糟糕的情况下才执行7次数,同样记做:O(log 2100)

 

四、一些常见的大O运行时间

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

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

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

O(n2),这样的算法包括选择排序算法,较慢。

O(n!),读作O n的阶乘次,这样的算法包括旅行商算法,一种非常慢的算法。

 

大O表示法

标签:优劣   运行   元素   二分   排序   特殊   表示法   无法   选择   

原文地址:https://www.cnblogs.com/zeussbook/p/11129655.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!