分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __。

分析下面算法(程序段)给出最大语句频度,该算法的时间复杂度是____。i=s=0;while(s<n){i++;s+=i;//s=s+i}... 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __。
i=s=0;
while (s<n)
{ i++;
s+=i; //s=s+i
}
展开
 我来答
创作者WJKGKFr15j
2019-06-10 · TA获得超过3万个赞
知道大有可为答主
回答量:1.3万
采纳率:35%
帮助的人:758万
展开全部
分析每一次循环可以发现,当循环执行10次后x>100,y方才减1,此时x被复原为91;
如此下去,由于每执行10次循环才使y减1,所以循环体执行100*10次,也就是说if语句判断执行了1000次(但里面的y--执行了100次)。至于时间复杂度,你现在数据都给定值了那不就是o(1)吗……如果x、y没给初值,则粗略地说应该为o(y)(或者说是o(10y))。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
jasonerika
2009-10-11 · TA获得超过440个赞
知道答主
回答量:168
采纳率:0%
帮助的人:177万
展开全部
一楼的回答是SB,希望那些没好好学算法的人就别在这里祸害学生。
时间复杂度很好算,实际上它是一个1+2+3.....+m=n的过程。等于n后循环终止。m好算吧?m=根号下(2n+1/4)-1/2.
所以时间复杂度是O(根号n).
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友71e3f36
2009-09-27 · 超过17用户采纳过TA的回答
知道答主
回答量:102
采纳率:0%
帮助的人:54.2万
展开全部
这段程序是错的。.
正确的应该是:
i=s=0;
while (s<n)
do{
i++;
s+=i; //s=s+i
}
复杂度是n 只有一次循环 没有嵌套循环.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hydrogen1508
2009-09-28 · 超过15用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:22.6万
展开全部
s=1+2+3+.....+i=【(1+i)i/2】<n
所以时间复杂度是o(√n)
根号不好打 反正就是根号下的n
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式