i=1; while(i<=n) i=i*2; 问时间复杂度为多少?为什么答案为O(log(2)n)?

2020-08-22 科技 119阅读
时间复杂度为T(n),O(f(n))叫做渐进时间复杂度。
当n趋近于无穷大时,T(n)=O(f(n))。此时O(f(n))也可叫时间复杂度。且lim T(n)/O(f(n))=常数,表示两者的数量级相同。因此本题中,无论f(n)=log2(n)或=log2(n)+1,lim T(n)/O(f(n))都等于常数,也就是说T(n)=O(f(n)),后者可以代表时间复杂度。而答案为了方便简洁而写成log2(n).
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com