Что на самом деле означает Logn?

Я только изучаю свой класс по алгоритмам и просматриваю QuickSort. Я понимаю алгоритм и то, как он работает, но не понимаю, как получить количество сравнений, которые он выполняет, или что на самом деле означает logn, в конце дня.

Я понимаю основы, вплоть до:

x=logb(Y) then
b^x = Y

Но что это означает с точки зрения производительности алгоритма? Это количество сравнений, которое вам нужно сделать, я понимаю, что ... вся идея кажется такой непонятной. Например, для QuickSort каждый вызов уровня K включает 2 ^ k вызовов, каждый из которых включает подсписки длиной n / 2 ^ K.

Итак, суммируя, чтобы найти количество сравнений:

log n
Σ 2^k. 2(n/2^k) = 2n(1+logn)
k=0

Почему мы суммируем log n? Откуда взялось 2n (1 + logn)? Извините за расплывчатость моих описаний, я просто запутался.

5
задан Mr.Wizard 1 May 2011 в 10:06
поделиться