数据结构中算法的时间复杂度计算
1分析下面算法,该算法的时间复杂度是____。i=s=0;while(s{i++;s+=i;//s=s+i}2分析下面算法,该算法的时间复杂度是____。i=1;whil...
1 分析下面算法,该算法的时间复杂度是____。 i=s=0; while (s { i++; s+=i; //s=s+i } 2 分析下面算法,该算法的时间复杂度是____。 i=1; while (i<=n) i=i*2; 书本给出的答案是: 1.根号N 2.log(N) 我不明白为什么?求解。。。。
展开
1个回答
展开全部
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满足循环退出的条件。
由:1+2+3+……+loop=n
得到:
loop=O(sqrt(n));
2、循环loop次后,
i=2^loop,
由i=n,得到:
loop=log(n);
就是看循环执行了多少次,看执行多少步后i满足循环退出的条件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
七鑫易维信息技术
2024-09-02 广告
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量500余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分...
点击进入详情页
本回答由七鑫易维信息技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询