2013-12-09 3 views
-8

시간 복잡성이 더 큰 것은 for 루프 또는 while 루프입니까? 다른 사람이 다른 루프의 시간 복잡도를 비교할 수있는 차트를 줄 수 있습니까? 가능한 경우 시간 복잡성에 대해 알아 보려면 좋은 참조 자료를 제안하십시오.프로그래밍 콘테스트 문제에 대한 루프의 시간 복잡도

+2

시간 복잡도는 루프의 반복 횟수와 루프 수에 따라 달라집니다. 루프 유형이 아닙니다. –

+2

질문이 잘못되었습니다. 루프의 시간 복잡도는 반복 횟수에 따라 달라집니다. 유형 (대 동안)은 부적합합니다. –

+0

@AbhishekBansal 반복 횟수를 알고있는 경우 사용하는 루프? \ – codingisfun

답변

1

만약 당신이 그들과 똑같은 일을한다면 거의 똑같아 야합니다. 예를 들어 : 그들은 똑같은 일을하고 있기 때문에

int i = 0; 
while (i < 10) 
    i++; 

for (int i = 0; i < 10; i++); 

은 정확히 같은 시간 복잡도 꽤 많이 있어야합니다.

시간 복잡성을 변경하는 유일한 요소는 루프 내부의 것입니다. 그러나 forwhile 이상으로 선호하는 이유는 변수를 선언하고 반복하는 편리한 방법을 추가하는 것 외입니다. 몇 교칙, while 루프 및 루프 없다면

3

가 동형 :

for (a; b; c) { 
    body; 
} 

내로 설정 될 수있다 : 이와 같이

a; 
while (b) { 
    body; 
    c; 
} 

, 둘 사이의 계산량의 차이가 없다 .

둘 중 하나를 선택하는 방법 : 일반적으로 어림짐작은 세 개의 절 중 두 개 이상이 해당 루프에 대해 의미가있는 경우 for 루프를 사용하는 것입니다.