Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отеты 2 курс.docx
Скачиваний:
11
Добавлен:
01.04.2025
Размер:
546 Кб
Скачать
☆

Описание

Если хотя бы одна вершина графа   недостижима из  , то требуемое дерево построить нельзя.

  1. Для каждой вершины   графа   произведём следующую операцию: найдём ребро минимального веса, входящее в  , и вычтем вес этого ребра из весов всех рёбер, входящих в  .  .

  2. Строим граф  , где   — множество рёбер нулевого веса графа   c весовой функцией  . Если в этом графе найдётся остовное дерево с корнем в  , то оно и будет искомым.

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

  4. Продолжим с пункта 2, используя граф   вместо  .

  5. В   построено MST  . Построим теперь MST   в   с весовой функцией  . Добавим к   все вершины компоненты сильной связности графа  , которой принадлежит   (по путям нулевого веса из  ). Пусть в   есть ребро  , где   отвечает компоненте сильной связности  , а   — компоненте сильной связности   графа  . Между   и   в графе   с весовой функцией   есть ребро  , вес которого равен весу ребра  . Добавим это ребро к дереву  . Добавим к   все вершины компоненты   по путям нулевого веса из  . Сделаем так для каждого ребра дерева  .

  6. Полученное дерево   — MST в графе  .