时间复杂度样例

程序片段1:
			x=x+1;
程序片段2for(k=1;k<=n;k++)
			{
    			x=x+1;
			}
程序片段3for(k=1,t=1;k<=n;k++)
			{ 
				t=t*2; 
				for(j=1;j<=t;j++) 
				x=x+j; 
			}
程序片段4for(k=1;k<=n;k++)
			{ 
				for(j=1;j<=k;j++) 
					x=x+j; 
			}
程序片段5:
			 m=0; 
			 for(k=1,t=1;k<=n;k++)
			 { 
			 	t=t*2; 
			 	for(j=t;j<=n;j++) 
			 	m++; 
			 }
程序片段6: 
			 m=0; 
			for(k=1;k<=n;k++)
			{ 
				for(j=1;j<=n;j++) 
				m++; 
			}
程序片段7:
		    m=0;
		   for(k=1;k<=n;k++)
		   { 
		   		for(j=1;j<=n;j++) 
		   		for(i=1;i<=n;i++) 
		   			m++; 
		  	}

1.O(1)

2.O(n)

3.外循环k遍历n次,对于每次循环,t都变为t的2倍,内层循环从1迭代到t,因此,当k=1,内层循环迭代2次,即2 ^ 1;当k=2,内层循环迭代4次,即2^2……到n次。总时间复杂度为2 ^ 1+2 ^ 2+2 ^ 3+……+2 ^n,计算等比数列,和为2 ^ (n+1)-2;即,O(2 ^ n)

4.外循环循环n次,内循环循坏1+2+3+……+n,计算等差数列,和为n(n+1)/2,即O(n^2)

5.外循环k遍历n次,对于每次循环t都变为t的2倍,内层循环从t遍历到n,当k=1时,t=2,内层循环从2循环到n,迭代n-1次;当k=2时,t=4,内层循环从4循环到n,迭代n-3次,总时间复杂度为n^2-1-3-5-……-(2*n-1),即约为O(nlogn)

6.外循环k遍历n次,内循环j遍历n次,总时间复杂度为n x n,即O(n^2)

7.最外循环遍历n次,内循环遍历n次,最内循环遍历n次,因此总时间复杂度O(n^3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值