Построение графа наименьшей длины. Задача об оптимальном назначении (задача об оставном дереве, алгоритмы примы и краскала) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Построение графа наименьшей длины. Задача об оптимальном назначении (задача об оставном дереве, алгоритмы примы и краскала)

22. Построение графа наименьшей длины. Задача об оптимальном назначении (задача об оставном дереве, алгоритмы Примы и Краскала)

В терминах теории графов задача Прима-Краскала выглядит следующим образом:
Дан граф с n вершинами; заданы длины ребер. Найти остовное дерево минимальной длины.

Краткое описание алгоритма Прима-Краскала: В цикле n-1 раз делай: ”выбрать самое короткое еще не выбранное ребро при условии, что они не образуют цикл с уже выбранными”.
Выбранные таким образом ребра и образуют искомое дерево.

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

Сам алгоритм имеет очень простой вид. Искомый минимальный остов строится постепенно, добавлением в него рёбер по одному. Изначально остов полагается состоящим из единственной вершины (её можно выбрать произвольно). Затем выбирается ребро минимального веса, исходящее из этой вершины, и добавляется в минимальный остов. После этого остов содержит уже две вершины, и теперь ищется и добавляется ребро минимального веса, имеющее один конец в одной из двух выбранных вершин, а другой — наоборот, во всех остальных, кроме этих двух. И так далее, т.е. всякий раз ищется минимальное по весу ребро, один конец которого — уже взятая в остов вершина, а другой конец — ещё не взятая, и это ребро добавляется в остов (если таких рёбер несколько, можно взять любое). Этот процесс повторяется до тех пор, пока остов не станет содержать все вершины (или, что то же самое, ребро).



Поделиться:


Последнее изменение этой страницы: 2024-07-06; просмотров: 58; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.005 с.)