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

时间复杂度

时间:2019-11-02 20:13:18      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:算法   操作   目标   冲突   例子   规模   时间复杂度   排序   冒泡排序   

  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倍,这个复杂度高于线性低于平方

    例子:归并排序

 

时间复杂度

标签:算法   操作   目标   冲突   例子   规模   时间复杂度   排序   冒泡排序   

原文地址:https://www.cnblogs.com/huan30/p/11783645.html

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