时间复杂度

Posted huan30

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间复杂度相关的知识,希望对你有一定的参考价值。

  O后面的括号中有一个函数指明某个算法的耗时/耗空间与数据增长量之间的关系。其中n代表输入数据的量

  O(1)-就是最低的时间复杂度

    例子:哈希算法,无论数据规模多大,都可以在一次计算后找到目标(不考虑哈希冲突)

  O(n)-代表数据量增大n倍,耗时也增大n倍(线性)

    例子:找到一个数组里最大的数,需要把n个变量都扫一边,操作次数也为n

  O(n^2)-代表数据量增大n倍时,耗时增大n^2倍

    例子:冒泡排序-对n个数排序,需要扫描n^2次

  O(log n)-当数据增大n倍时,耗时增大log n倍,(这里log是以2为底,当数据增大256倍,耗时只增大8倍)

    例子:二分查找就是

  O(n log n)-就是n乘以logn,当数据增大256倍时,耗时增大256*8 = 1028倍,这个复杂度高于线性低于平方

    例子:归并排序

 

以上是关于时间复杂度的主要内容,如果未能解决你的问题,请参考以下文章

时间复杂度(计算方法,如果计算,及其解释)

时间复杂度

究竟啥是时间复杂度,怎么求时间复杂度,看这一篇就够了

什么是时间复杂度、空间复杂度?

算法的时间复杂度取决于啥,算法分析的时间复杂度取决于

复杂度分析(下):浅析最好最坏平均均摊时间复杂度