有一程序片段:{i=0;s=0;while(s<=n){i++;s=s+i;}},其时间复杂度是
有一程序片段:{i=0;s=0;while(s<=n){i++;s=s+i;}},其时间复杂度是
日期:2020-10-13 08:47:03 人气:1
时间复杂度为O(n^1/2)。
在循环中i每次自增1,s是求前i项的和,根据等差数列求和公式s=i(i+1)/2,循环结束的条件是s<=n,也就是i(i+1)/2<=n,所以i是与n的1/2次方成正比的,因此得出结论。
当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式){循环体}。
扩展资料:
WHILE
end while
do while
loop
while() {}
do {} w
