Лучшие вопросы
Таймлайн
Чат
Перспективы

Алгоритм Краскала

алгоритм нахождения минимального остовного дерева во взвешенном графе Из Википедии, свободной энциклопедии

Алгоритм Краскала
Remove ads

Алгоритм Краскала, также алгоритм Крускала[1][2][3][4] — эффективный алгоритм построения минимального остовного дерева взвешенного связного неориентированного графа. Также алгоритм используется для нахождения некоторых приближений для задачи Штейнера[5].

Thumb
Визуализация Алгоритма Краскала

Алгоритм описан Джозефом Краскалом[англ.] в 1956 году, этот алгоритм почти не отличается от алгоритма Борувки, предложенного Отакаром Борувкой[англ.] в 1926 году.

Remove ads

Формулировка

В начале текущее множество рёбер устанавливается пустым. Затем, пока это возможно, проводится следующая операция: из всех рёбер, добавление которых к уже имеющемуся множеству не вызовет появление в нём цикла, выбирается ребро минимального веса и добавляется к уже имеющемуся множеству. Когда таких рёбер больше нет, алгоритм завершён. Подграф данного графа, содержащий все его вершины и найденное множество рёбер, является его остовным деревом минимального веса. Подробное описание алгоритма можно найти в литературе[6].

Remove ads

Оценка

До начала работы алгоритма необходимо отсортировать рёбра по весу, это требует O(E × log(E)) времени. После чего компоненты связности удобно хранить в виде системы непересекающихся множеств. Все операции в таком случае займут O(E × α(E, V)), где α — функция, обратная к функции Аккермана. Поскольку для любых практических задач α(E, V) < 5, то можно принять её за константу, таким образом, общее время работы алгоритма Краскала можно принять за O(E * log(E)).

Remove ads

Доказательство корректности алгоритма

Алгоритм Краскала действительно находит остовное дерево минимального веса, поскольку он является частным случаем алгоритма Радо — Эдмондса[7] для графического матроида, где независимые множества — ациклические множества рёбер.

Пример

Суммиров вкратце
Перспектива
Подробнее Изображение, Описание ...
Remove ads

См. также

Примечания

Литература

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads