Изменения

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

Левосторонняя куча

19 байт убрано, 22:40, 2 ноября 2019
dist(x) = min(dist(x.right), dist(x.left))+1 исправлено на dist(x) = dist(x.right)+1 (правая ветвь стала меньше на предыдущем шаге)merge
'''if''' dist(x.right) > dist(x.left):
swap(x.left, x.right)
dist(x) = min(dist(x.left), dist(x.right)) + 1 <font color=darkgreen>// пересчитаем расстояние до ближайшей свободной позиции</font>
'''return''' x
<font color=darkgreen>// Каждый раз идем из уже существующей вершины только в правое поддерево {{---}} не более логарифма вызовов (по лемме)</font>
Анонимный участник

Навигация