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

1分析下面算法,该算法的时间复杂度是____。i=s=0;while(s<n){i++;s+=i;//s=s+i}2分析下面算法,该算法的时间复杂度是____。i=1;w... 1 分析下面算法,该算法的时间复杂度是____。

i=s=0;
while (s<n)
{ i++;
s+=i; //s=s+i
}

2 分析下面算法,该算法的时间复杂度是____。

i=1;
while (i<=n)
i=i*2;

书本给出的答案是:
1.根号N
2.log(N)

我不明白为什么?求解。。。。
展开
 我来答
dreamflying21
2011-06-02 · TA获得超过232个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:241万
展开全部
1、s的增长序列为:1,2,3,4,……,所以循环loop次后s=1+2+3+……+loop,s=n时结束循环。
由:1+2+3+……+loop=n 得到: loop=O(sqrt(n));
2、循环loop次后, i=2^loop, 由i=n,得到: loop=log(n);

就是看循环执行了多少次,看执行多少步后i满足循环退出的条件。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式