Изменения

Перейти к: навигация, поиск

Двоичная куча

2 байта добавлено, 22:58, 8 июня 2013
Построение кучи за O(N)
Число вершин на высоте <tex>h</tex> в куче из <tex>n</tex> элементов не превосходит <tex dpi = "160"> \left \lceil \frac{n}{2^h} \right \rceil </tex>. Высота кучи не превосходит <tex> \log_{2} n </tex>. Обозначим за <tex> H </tex> высоту дерева, тогда время построения не превосходит <tex dpi = "160"> \sum_{h = 1}^H \limits\frac{n}{2^h}</tex> <tex dpi = "150"> \cdot h </tex> <tex dpi = "160">= n \cdot {\sum_{h = 1}^H \limits}\frac{h}{2^h}. </tex>
<tex dpi = "160"> {\sum_{h = 1}^\infty \limits}\frac{h}{2^h} = 2 </tex> .
Далее, будет подсчитана эта сумма в общем виде. Получаем оценку <tex> O(N) </tex>.
Подставляя в формулу для суммы получаем <tex > N </tex> <tex dpi = "160">\cdot (\frac {d}{d - 1})^2 </tex> <tex> < 5 \cdot N </tex>.
Получаем время работы <tex> O(N) </tex>.
== Источники ==
668
правок

Навигация