
数据结构中怎么计算时间复杂度
例1、for(i=0;i<n;i++)/1/{y=y+1;/2/for(j=0;j<=2*n;j++)/3/x++;}/4//1/的频度是n+1,(为什么频度不是n次呢,...
例1、for (i=0;i<n;i++) /1/
{y=y+1; /2/
for(j=0;j<=2*n;j++) /3/
x++;} /4/
/1/的频度是n+1, (为什么频度不是n次呢,n+1次是怎么算的啊)
/2/的频度是n
/3/的频度是n*(2n+2)
/4/的频度是你n(2n+1)
帮忙把每一段的频度是怎么算出来的解释一下,谢谢了 展开
{y=y+1; /2/
for(j=0;j<=2*n;j++) /3/
x++;} /4/
/1/的频度是n+1, (为什么频度不是n次呢,n+1次是怎么算的啊)
/2/的频度是n
/3/的频度是n*(2n+2)
/4/的频度是你n(2n+1)
帮忙把每一段的频度是怎么算出来的解释一下,谢谢了 展开
展开全部
/1/ 为什么频度不是n次呢,n+1次是怎么算的啊
========================================
因为到n的时候,虽然已经不符合i<n了,但计算机要判断出这个仍需一次时间(当然判断出这个以后,后面的语句就不用执行了,所以/2/的频度是n),所以是n+1。
/2/ 前面/1/括号里已说明。从0到n-1,总共执行了(n-1)-0+1次。
/3/ 如果单独拿出这个内圈循环,频度为2*n-0+1+1。(注意是<=)再考虑外圈循环,相当于执行了n次的2*n-0+1+1,所以为n*(2*n+2)。
/4/ 同理1和2。内圈执行了2*n-0+1次,考虑外圈循环,则是n*(2*n+1)。
========================================
因为到n的时候,虽然已经不符合i<n了,但计算机要判断出这个仍需一次时间(当然判断出这个以后,后面的语句就不用执行了,所以/2/的频度是n),所以是n+1。
/2/ 前面/1/括号里已说明。从0到n-1,总共执行了(n-1)-0+1次。
/3/ 如果单独拿出这个内圈循环,频度为2*n-0+1+1。(注意是<=)再考虑外圈循环,相当于执行了n次的2*n-0+1+1,所以为n*(2*n+2)。
/4/ 同理1和2。内圈执行了2*n-0+1次,考虑外圈循环,则是n*(2*n+1)。

2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询