Изменения

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

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

11 байт убрано, 21:07, 26 мая 2013
Построение кучи за O(n)
3. Уменьшаем ключ данного узла и сливаем два дерева: исходное и вырезанное. <tex>O(\log{n})</tex>
==Построение кучи за <tex>O(n)</tex>==Храним список левосторонних куч. Пока их количество больше <tex>1</tex>, из начала списка достаем две кучи, сливаем их и кладем в конец списка.  
==Преимущества левосторонней кучи==
Нигде не делается уничтожающих присваиваний. Не создается новых узлов в <tex>merge</tex>. Эта реализация слияния является функциональной — ее легко реализовать на функциональном языке программирования. Также данная реалзация <tex>merge</tex> является персистентной.
Анонимный участник

Навигация