
分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __。
分析下面算法(程序段)给出最大语句频度,该算法的时间复杂度是____。i=s=0;while(s<n){i++;s+=i;//s=s+i}...
分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __。
i=s=0;
while (s<n)
{ i++;
s+=i; //s=s+i
} 展开
i=s=0;
while (s<n)
{ i++;
s+=i; //s=s+i
} 展开
展开全部
分析每一次循环可以发现,当循环执行10次后x>100,y方才减1,此时x被复原为91;
如此下去,由于每执行10次循环才使y减1,所以循环体执行100*10次,也就是说if语句判断执行了1000次(但里面的y--执行了100次)。至于时间复杂度,你现在数据都给定值了那不就是o(1)吗……如果x、y没给初值,则粗略地说应该为o(y)(或者说是o(10y))。
如此下去,由于每执行10次循环才使y减1,所以循环体执行100*10次,也就是说if语句判断执行了1000次(但里面的y--执行了100次)。至于时间复杂度,你现在数据都给定值了那不就是o(1)吗……如果x、y没给初值,则粗略地说应该为o(y)(或者说是o(10y))。

2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
一楼的回答是SB,希望那些没好好学算法的人就别在这里祸害学生。
时间复杂度很好算,实际上它是一个1+2+3.....+m=n的过程。等于n后循环终止。m好算吧?m=根号下(2n+1/4)-1/2.
所以时间复杂度是O(根号n).
时间复杂度很好算,实际上它是一个1+2+3.....+m=n的过程。等于n后循环终止。m好算吧?m=根号下(2n+1/4)-1/2.
所以时间复杂度是O(根号n).
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这段程序是错的。.
正确的应该是:
i=s=0;
while (s<n)
do{
i++;
s+=i; //s=s+i
}
复杂度是n 只有一次循环 没有嵌套循环.
正确的应该是:
i=s=0;
while (s<n)
do{
i++;
s+=i; //s=s+i
}
复杂度是n 只有一次循环 没有嵌套循环.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s=1+2+3+.....+i=【(1+i)i/2】<n
所以时间复杂度是o(√n)
根号不好打 反正就是根号下的n
所以时间复杂度是o(√n)
根号不好打 反正就是根号下的n
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询