数据结构中怎么计算时间复杂度
例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)
帮忙把每一段的频度是怎么算出来的解释一下,谢谢了 展开
2个回答
展开全部
/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)。
七鑫易维信息技术
2024-09-02 广告
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量500余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分...
点击进入详情页
本回答由七鑫易维信息技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |