数据结构 关于语句的执行频度(次数)问题。

数据结构 关于语句的执行频度(次数)问题。,第1张

i=0 s语句执行0次;

i=1 s语句执行1次;

i=2 s语句执行2次;

i=3 s语句执行3次;

以此类推i=n-1 s语句执行n-1次;

则总的执行次数:0+1+2+3+。。。+n-1=n(0+n-1)/2=n*(n-1)/2(等差数列公式)

(1)语句1,从n执行到1共进行n次,但到1时没有直接终止,因为1还是满足条件的,下一次执行时i从1减到了0,此时i=0仍然执行了语句1,执行后不满足条件,所以共执行了(n+1)次,对应的i分别是(n,n-1,…,2,1,0)

(2)根据1中所述,i=0时执行语句1,不满足条件,所以不会执行语句2,所以语句2还是只执行了n次,对应的i分别是(n,n-1,…,2,1)

(3)与上面逻辑是相对应的(以i=n举例):当i=n时,j先取n,执行语句3,满足条件,执行语句4;再取n-1,执行语句3,不满足条件,不执行语句4,所以语句3执行了2次,语句4执行了1次,依次类推:

i=n时,语句3执行2次,语句4执行1次

i=n-1时,语句3执行3次,语句4执行2次

i=1时,语句3执行(n+1)次,语句4执行n次

综上所述:

语句3共执行:2+3+…+(n+1)=n(n+3)/2

语句4共执行:1+2+…+n=n(n+1)/2

(4)有一点要注意的是,语句3是基于语句2执行的,所以语句1比语句2多执行的那一步,语句3是不执行的。

可以的,吧“每###毫秒”当成是一个基数。你自己在运行时里面做一个临时变量。如果你另外的语句执行频率要比比基数还慢,那你就用这个临时变量进行累加。达到条件后再执行你需要的部分,反之亦然


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8066132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存