for(int i=n/2; i>=1 ; i=i/2)
statement1;
这个循环的最坏情况(big-o)是什么?我检查了一下,所以,我得到了这些结果:
如果N = 100,则将N除以一半,50,之后,它将启动logn行为,如50,25,12,6,3,1。同样的事情在下面详细阐述:
从上面的结果,我知道,第一行给出N / 2,这意味着O(N),下一行表现得像Log(N)。有两件事可以发生。
答案 0 :(得分:-1)
这件事其实我想问。 “如果问题是O(n),问题的一半也是O(n)。如果问题是O(log n),问题的一半也是O(log n)” 它的意思,