668
правок
Изменения
→Построение кучи за O(N)
Здесь появился множитель <tex> d </tex> из-за того, что поиск минимума в sift_down происходит за <tex> d </tex>.
Посчитаем ряд <tex dpi = "160"> {\sum_{n = 1}^\infty \limits}\frac{n}{d^n} </tex>. Обозначим за <tex> S</tex> сумму ряда. Заметим, что
<tex dpi = "160"> \frac{n}{d^n} = \frac{1}{d} \cdot \frac{n - 1}{d ^{n - 1}} + \frac{1}{d^n}. </tex>
<tex dpi = "160">{\sum_{n = 1}^\infty \limits}\frac{1}{d^n} </tex> это сумма бесконечной убывающей геометрической прогрессии ее сумма равна <tex dpi = "160">
\frac{\frac{1}{d}}{1 - \frac{1}{d}} = \frac{1}{d - 1} . </tex>
Получаем <tex> S </tex> <tex dpi = "160" >= \frac{1}{d}</tex> <tex>\cdot S</tex> <tex dpi = "160" > + \frac{1}{d - 1}. </tex> Откуда <tex> S</tex> <tex dpi = "160"> = \frac{d}{(d - 1)^2}. </tex>