这段代码的运行时复杂性是什么?代码可以正常工作,我对运行时复杂性有点困惑。
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)或类似的东西,因为没有任何嵌套循环。
答案 0 :(得分:2)
在它的当前形式中,此是 O(无穷大)。它可能永远不会停止。
如果循环中有break语句,则必须提供完整代码。没有它,分析是不可能的。