有一程序片段:{i=0;s=0;while(s<=n){i++;s=s+i;}},其时间复杂度是

日期:2020-10-13 08:47:03 人气:1

有一程序片段:{i=0;s=0;while(s<=n){i++;s=s+i;}},其时间复杂度是

时间复杂度为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
    A+
热门评论