首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

下列程序段的时间复杂度为,该如何解决

2012-04-01 
下列程序段的时间复杂度为3.下列程序段的时间复杂度为()i0;s0;while(sn){i++;ss+i;}A.O( )B.O(log2n)C

下列程序段的时间复杂度为
3.下列程序段的时间复杂度为( )
i=0;s=0;
  while(s<n)
  {i++;
  s=s+i;
  }
A.O( )B.O(log2n)
C.O(n)D.O(n2)


[解决办法]
我猜是C,但是不紧确啊
[解决办法]
应该是O(√n)吧。
[解决办法]
根号n
[解决办法]
运行多少次,要看s需要多少步才能累加到n,由于s的步长每次都增加1
于是有:0+1+2+……+x=n,算出x就可以知道有多少步了
这是等差数列,于是:
(1+x)*x/2 = n
可以算法复杂度是n^1/2
[解决办法]
n^1/2

lz,看你这几天提问,你是在准备应付考试吧。

热点排行