2014-08-31 3 views

답변

4

k = n/(log n)이면 알고있는 알고리즘을 사용하면 O (n + (n/(log n)) * log (n// (log n), log n> log (n/(log n))이므로 O (n)이됩니다.

1

나는 기존 솔루션이 이미 트럭을 수행 생각 : 당신이

k = n/(log n) 

를 대체 할 경우

total = O(n + (n/log n) * log (n/log n)) 

log (a/b) = log a - log b을 사용하여 얻을 :

total = O(n + (n/log n) * (log n) - (n/log n) *log log n) 

total = O(n + n - (n/log n) *log log n) 

우리는 부정적인 용어를 멀리 던질 수 : O(f) 인 것보다 f < g 인 경우

total = O(n) 
: 또한 마지막으로 O(g)

total = O(2 * n) 

수, 큰-O는 우리가 일정한 요인을 무시할 수 있습니다

관련 문제