这段代码的运行时复杂度是多少?

时间:2012-02-25 11:44:47

标签: algorithm

这段代码的运行时复杂性是什么?代码可以正常工作,我对运行时复杂性有点困惑。

int Something(int x[]){
int i=0;
for(i=0;i<x.length;i++){
    //some code over here
    i=-1;
}

请注意,这不是一个无限循环,因为循环中有一个continue和break语句。然而,由于循环结束时条件i = -1,它确实循环了很多次。

O(n)复杂性意味着没有嵌套循环,并且此代码没有嵌套循环。但我真的不认为这将是O(n)。它也不会是O(n ^ 2)或类似的东西,因为没有任何嵌套循环。

1 个答案:

答案 0 :(得分:2)

在它的当前形式中,此 O(无穷大)。它可能永远不会停止。

如果循环中有break语句,则必须提供完整代码。没有它,分析是不可能的。