12. Остов в графе и алгоритм Краскала поиска остова минимального веса во взвешенном графе

Пусть - граф и - весовая функция. Как обычно, предполагается, что все рассматриваемые графы связны. Остовом графа, напомним, называвается подграф, яв-ляющийся деревом и содержащий все вершины данного графа. Нетрудно доказать, что в каж-дом графе обязательно есть остов.

Как определялось ранее, Вес подграфа - это сумма весов его ребер. Ясно, что во взвешен-ном графе существует остов наименьшего веса.

Существует Алгоритм Краскала, позволяющий найти остов минимального веса в любом взвешенном графе. Дадим его описание по шагам.

Шаг 1. Найдем в данном графе ребро минимального веса (если таких несколько, фикси-руем любое). Обозначим его через ; кроме того, фикисруем подграф в данном графе , со-стоящий из концов ребра и самого этого ребра. Обозначим этот подграф через .

Шаг 2. Фиксируем в данном исходном графе второе ребро - обозначим его через , - вес которого минимален относительно весов всех ребер, не принадлежащих . Подграф, со-стоящий из ребер , и их концов обозначим через .

Шаг 3. Фиксируем в графе ребро - обозначим его через , - имеющее минимальный вес среди всех ребер графа , не принадлежащих , и не составляющих цикла с ребрами из . Подграф, состоящий из ребер , , и их концов, обознаим через .

Шаг 4. Фиксируем в графе ребро - обозначим его через , - имеющее минимальный вес среди тех ребер графа , которые не принадлежат и не образуют цикла с ребрами из . Подграф, состоящий из ребер , , , и их концов обознаим через .

Общий шаг - шаг № K. Фиксируем в графе ребро – обозначим его через , - имею-щее минимальный вес среди ребер, не входя-щих в и не составляющих цикла с ребрами из . Подграф, состоящий из ребер , , ,..., , обозначим через .

Можно доказать, что Если в исходном графе Количество вершин равно , То подграф Будет искомым остовом.

© 2011-2024 Контрольные работы по математике и другим предметам!