学习了一下如何计算时间复杂度

原创 2007年09月21日 12:09:00

(1)设n为正整数,利用大"O"记号,将下列程序段的执行时间表示为n的函数。
 i=1; k=0
while(i<n)
{ k=k+10*i;i++;
}
解答:T(n)=n-1, T(n)=O(n), 这个函数是按线性阶递增的。
(2) x=n; // n>1
while (x>=(y+1)*(y+1))
y++;
解答:T(n)=n1/2 ,T(n)=O(n1/2), 最坏的情况是y=0,那么循环的次数是n1/2次,这是一个按平方根阶递增的函数。
(3) x=91; y=100;
while(y>0)
if(x>100)
{x=x-10;y--;}
else x++;
解答: T(n)=O(1), 这个程序看起来有点吓人,总共循环运行了1000次,但是我们看到n没有? 没。这段程序的运行是和n无关的,就算它再循环一万年,我们也不管他,只是一个常数阶的函数。

 

复杂度大小关系比较:

c < log2N < n < n * Log2N < n^2 < n^3 < 2^n < 3^n < n!

 

虽然是转的, 也看明白了, 但对数复杂度的计算还不是很明白, 呵呵 

计算计算法基础-时间复杂度

  • 2012年02月20日 20:33
  • 79KB
  • 下载

时间复杂度的几种计算方法

  • 2013年12月01日 00:06
  • 247KB
  • 下载

(精)(图论加强)最短路问题(floyd算法)(复习一下,时间复杂度是n^3)

#include #include using namespace std; #define MAX 1005 //#define MAX 10 #define inf 1000 int map[MA...

微软100题40题-设计一个栈结构,满足一下条件:min,push,pop操作的时间复杂度为O(1)。

/** * File:Test_40.java * Title: * Description: 40.百度研发笔试题(栈、算法) 引用自:zp155334877 1)设计一个栈结构,满足一下...

【算法导论学习-008】算法时间复杂度的计算

1、主方法(The master throrem) 【算法导论】 P94 2、数学归纳法(mathematical induction) 【算法导论】 P83 如果...

黑马程序员学习笔记——关于时间复杂度计算2

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- ...

算法时间复杂度

  • 2017年11月02日 22:28
  • 125B
  • 下载

数据结构-算法-时间复杂度计算

算法的时间复杂度定义为: 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n}...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习了一下如何计算时间复杂度
举报原因:
原因补充:

(最多只允许输入30个字)