이 코드 조각의 런타임 복잡성은 얼마나 될까요? 이 코드는 제대로 동작하기 때문에 런타임 복잡성에 대해서는 약간 혼란 스럽습니다.이 코드의 런타임 복잡성은 무엇입니까?
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) 또는 이와 비슷한 것이 아닐 것입니다.
메모리 또는 시간을 묻는 중입니까? 'O (n) 복잡성은 중첩 루프가없고이 코드에는 중첩 루프가 없다는 것을 의미합니다. 간단하지 않습니다. '그것도 O (n^2) 나 그 어떤 것도 중첩 된 루프가 없으므로 그렇게되지 않을 것입니다. '- 그렇게 간단한 것은 아닙니다. '반복문에 break와 continue 문이있다. '- 모든 코드를 볼 수 없다면 우리는 어떻게 도와야 하는가? –
중단/계속 조건을 보지 않고는 말하기가 불가능합니다. 나머지 코드를 게시하십시오. –
'i = -1;'이 실행되는 최대 횟수는 무엇입니까? 그것이 언제 실행됩니까 w.r.t. 'i'의 마지막 값? –