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