Изменения

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

Алгоритм Прима

110 байт убрано, 09:45, 12 октября 2014
Реализация
Q.decreaseKey(u, key[u])
Ребра дерева восстанавливаются из его неявного вида после выполнения алгоритма.<br>Операцию <tex>decreaseKey</tex> сделать для приоритетной очереди на обычной [[Двоичная_куча | двоичной куче ]] немного проблематично, поэтому есть два варианта. Первый, написать приоритетную очередь на какой-то сложной куче, например, [[Биномиальная_куча | биноминальной ]] или [[Фибоначчиева_куча |фибоначчиевой]]. Второй, изменять значение ключа вершины <tex>u</tex>, для которой вызвали <tex>decreaseKey</tex>, непосредственно в куче, после чего делать процедуру просеивания вверх(подробнее об для этой процедуре можно прочитать [http://neerc.ifmo.ru/wiki/index.php?title=%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D0%BA%D1%83%D1%87%D0%B0#siftUp здесь])вершины. Для быстрого доступа к позиции данной вершины <tex>u</tex> в куче, нужно дополнительно хранить указатель на эту позицию и не забывать его менять во время изменения кучи.
==Пример==
Анонимный участник

Навигация