这段代码的时间复杂度是多少?为什么?

问题描述:

以下代码的时间复杂度为O(n)。但为什么呢?这段代码的时间复杂度是多少?为什么?

int j = 0; 
for(int i = 0; i < n; ++i) { 
    while(j < n && arr[i] < arr[j]) { 
     j++; 
    } 
} 
+1

也许你想尝试计算机科学Stackexchange http://cs.stackexchange.com/ – enpenax

+0

@enpenax这个问题在这里可以像在CS上一样工作。无需迁移它。 –

控制通过外环n次。

控制最多通过内循环n次。那不是n为每次通过外环,它是n次,最多总。

+0

知道了!!谢谢 – navroze