Алгоритм решения
Начнем с любого узла и соединим его с ближайшим узлом сети. Соединенные два узла образуют связное множество, а остальные — несвязное. Далее в несвязном множестве выберем узел, который расположен ближе других к любому из узлов связного множества. Скорректируем связное и несвязное множества и будем повторять процесс до тех пор, пока в связное множество не попадут все узлы сети. В случае одинаково удаленных узлов выберем любой из них, что указывает на неоднозначность (альтернативность) "минимального дерева-остова".
Пример. Телевизионная фирма планирует создание кабельной сети для обслуживания 5 районов-новостроек. Числа на ребрах указывают длину кабеля (рис. ниже). Узел 1 — телевизионный центр. Отсутствие ребра между двумя узлами означает, что соединение соответствующих новостроек либо связано с большими затратами, либо невозможно.
Рисунок 14 – Ход решения.
Найтитакое соединение кабелем районов-новостроек, чтобы длина его была минимальной.
Решение. Минимальная длина кабеля: 1+3+4+3+5 = 16 (рис.14).
Пример. На рис. 30.20 указаны длины коммуникаций, связывающих 9 установок по добыче газа в открытом море с расположенным на берегу приемным пунктом. Поскольку скважина 1 расположена ближе всех к берегу, она оснащена необходимым оборудованием для перекачки газа, идущего с остальных скважин в приемный пункт.
Построить сеть трубопровода, соединяющего все скважины с приемным пунктом и имеющего минимальную общую длину труб.
Рисунок 15 – Ход решения.
Решение. Минимальная длина труб: 5+6+4+3+7+5+ 6+5=41