好大一只阿文
2019-09-04 16:23
采纳率: 0%
浏览 659

数据结构时间频度的算法

s=0;

for(i=1;i<n;i++)

for(j=0;j<=i;j++)
        s+=j;

求出语句执行频度和

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 评论
    解决 无用
    打赏 举报
  •     F. 2019-11-17 17:07
    s=0                            //1次
    for(i=1;i<n;i++)        //n-1+1次(+1是最后一次判断并跳出)
        for(j=0;j<i;j++)       /*(1/2)(n-1)(2+n)次(因为与上个循环变量相关,所以通过i来分析j的循环次数而不是两个循环次数相乘,通过分析 得知j                                                                    层循环次数=1+2+…+n-1,既循环体内循环(n^2)/2次(求和公式),但对于j层循环的for语句来                                                                      说还要算上每轮循环的j=i时跳出循环体的那一次,既每次循环多加个1,2+3+4+…+n,
                                                                       既(1/2)(n-1)(2+n)次(求和公式),*/
        s+=j                 //(n^2)/2次
    

    所以总共是(1)+(n-1+1)+((1/2)(n-1)(2+n))+((n^2)/2)次,自己化简吧=w=

    评论
    解决 无用 1
    打赏 举报

相关推荐 更多相似问题