数据结构的时间复杂度 i=0,s=0; while(s

himyhero 1年前 已收到1个回答 举报

coco006 幼苗

共回答了20个问题采纳率:100% 举报

其实数学上的定义我也不用说了,简单来说就是通过求出该算法执行次数呗,通过观察while的条件,可以知道s和n作为循环条件,假设n是5050的话,是不是就是从1加到100啊,那不就是100次吗,就是设(上面的k和n写反了,呵呵,不好意思)n=1+2+...+k=(k*(k+1)/2)=(k^2+k)/2-->k*(k+1)=2*n-->k^2>k*(k+1)=2*n-->k>(2*n)^(1/2)(就是k>根号2*n),所以去掉常数2^(1/2)(就是根号2),时间复杂度就是O(n^1/2)(既根号n)

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.041 s. - webmaster@yulucn.com