对这个算法中的语句频度有一些疑问,第一句for语句教材上写的语句频度为n+1,我听网课的时候上面讲的原因是,第一个for语句执行了n次,还要再执行一次来判断这个for语句是不是能再执行,所以为n+1次,那么第二个for语句为什么不用每次执行的时候判断一次这个for语句能不能执行呢?那他的语句频度就应该为(n+1)(n+1)了啊,为什么是n(n+1),下面还有一个for语句频度为n方*(n+1),那个也是按照for语句执行完n次再判断一次是否能执行,为(n+1)次,这几个for语句其实除了变量不一样,别的都一样,但是为什么有的是n次,有的是n+1次呢?

算法的语句频度问题?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 技术专家团-小桥流水 2022-02-27 10:03关注
因为第二个for循环在第一个for循环之内,第一个for循环的执行次数是n,第n+1次只判断,不执行,所以第二个for循环在第一个for循环内的实际执行次数是n;第二个for循环本身的频度是n+1(执行n次,第n+1次只判断,不执行),所以它的总频度是n*(n+1)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 9无用