第一次i = 1
第二次i = 2
第三次i = 4
第四次i = 8
……
第k次 i = 2^k
第多少次就结束循环了呢,也就是第log2(n)的时候就结束循环了。
所以最大语句频度是log2(n),时间复杂度为O(log2(n))。
频度就是执行了多少次,时间复杂度只是估计,比如两个频度为n的语句嵌套的话(比如两个for循环),时间复杂度就是n*n。
回到题目,你这题的最大语句频度是while(i<=n)这句话执行出来的,n/2向上取整,时间复杂度为O(n)