2014-11-20 3 views
0

큰 세타 표기법에 대해이 함수를 해결하려고합니다.나누기가있는 중첩 루프에 대한 큰 theta 표기법

외부 루프가 log (n)이고 내부 루프가 (n)이라고 가정합니다. 그래서 전체적으로 nlogn일까요?

var total = 4; 
    var c = 6; 
    for(var v = c ; v > 0 ; v = Math.floor(i/4)) 
     for(var x = 0; x < Math.pow(c,2); j++) 
      total++ ; 

    console.log(total); 
+0

매우 비효율적 인 코드를 사용하는 이상한 질문입니다. – jrsala

답변

1

내부 루프는 0에서 n^2까지 진행되므로 실제로 n^2 * log n입니다. 또한, 대수의베이스는 각각 내부 루프 반복에서 1 씩 증가 n 제곱된다 Math.pow(n, 2)j 때문에 제

+0

내부 루프는 실제로 0에서 n²-1로 이동합니다. 또한, Landau 표기법과 일반적으로 시간 복잡도의 크기 순서에 대한 추정을 위해서는 곱셈 상수가 중요하지 않으므로 대수의 기저는 무의미합니다. – jrsala

1

인, 내부 루프는 시간 복잡도 세타 (n²) (실제로는 그 본체가 정확히 n² 실행 갖는다 루프 당 시간). 바깥 고리의 몸체는 정확하게 추측 한대로 쎄타 (log (n)) 번 실행됩니다.

결과 복잡도는 Theta (n²log (n))입니다.