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

时间复杂度

时间:2014-05-28 21:35:22      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:strong   算法   问题      时间   计算机   

时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。

一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。

我们可以记住一句话,“算法中的基本操作的执行次数,为算法的时间复杂度”。那么,什么是基本操作呢:基本操作就是算法中的每一条语句,我们通常可以只考虑循环内的语句就行了(最内层循环里的语句)。

OK,在我们的程序中,我们总能找到一个n,这个n是问题的规模,比如循环的次数,数组或者链表结构元素的个数等,而我们的时间复杂度就是关于这个问题规模n的函数T(n),T(n)实际上叫做“渐进时间复杂度”简称为时间复杂度。基本操作的执行次数f(n)。

现在,我们要把T和f联系起来了:T(n)=O(f(n))。O是数量级的符号。一般而言呢,我们取f(n)中随n增大增长最快的项,然后将该项的系数变为1。

举个例子来说:f(n)=3n4+2n2+1,那么T(n)=O(f(n))=O(n4)。

再来回顾一下:算T(n)=>找出基本操作,确定问题的规模n=>计算基本操作执行次数f(n)=>得出T(n)

时间复杂度,布布扣,bubuko.com

时间复杂度

标签:strong   算法   问题      时间   计算机   

原文地址:http://www.cnblogs.com/helo-blog/p/3754504.html

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