[理工] 资节 时间复杂度分析

楼主: APE36 (PT乡民)   2015-05-15 17:22:24
for (i=1; i<=n; i++) {
j=i+1;
do {
x=x+1;
} while (j++ <= n);
}
请问,关于x = x + 1 的执行次数?在考试时,通常都怎么整理的?
感觉老师,都说要用公式套
请益有人能帮解惑一下吗??
作者: popular10347 (popular)   2015-05-15 21:13:00
n*[(n+1)*n/2]外层循环对x有影响执行n次,内层循环你从i=1会执行n次,i=2执行n-1次...i=n执行1次
作者: easion0317 (仲夏萤火虫)   2015-05-16 06:20:00
问一下 循环跑到最后是不是要加一 因为判断失败要跳出算一次
作者: popular10347 (popular)   2015-05-16 11:32:00
你现在问的不是x执行次数?然后通常不知道怎么看我会先代个n=5之类的数字,来缓解恐惧如果是看外层for循环就是执行n+1次
作者: ken52011219 (呱)   2015-05-25 22:57:00
小弟不才While(j++<=n)这成是不是永远j>n吗 ??
作者: fightforlive (学历无用论是屁)   2015-05-30 20:10:00
因为是do...while 所以一定会执行一次,下次要执行才会在while里判断条件,所以除了第一次执行,第二次之后会在j++后然后执行; j++<=n会先判断j<=n然后才j=j+1 所以如果j=1, n=2, 会执行j=1,j=2,j=3所以在while里有可能j>n

Links booklink

Contact Us: admin [ a t ] ucptt.com