数据结构C++ 求解相应的时间复杂度。

数据结构C++
求解相应的时间复杂度。i=n;
while(i>0) i =i /2;

这个有啥难的…………复杂度O(n)嘛…………追答

不对…是logn

想错了

追问

?正数除以2不一直是正数?你是怎么算的?

追答

别忘了,计算机计算整数除法并没有小数。即使是浮点,也有个精度范围。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-10-11
i=i/2
相当于2^i>n
i=log2^n追问

看不懂?可以详细点吗?

第2个回答  2016-10-10
O(n)=log n追问

怎么算的

追答

O(2n)=O(n)+1
所以O(n)=log n

相似回答