
Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:

58. Стягивающие деревья. Нахождение стягивающего дерева методом поиска в ширину
Для произвольного неориентированного графа G = <V, Е> каждое дерево <V, Т>, где ТсЕ, будем называть стягивающим деревом или каркасом графа G. Ребра такого графа (дерева) назовем ветвями, а остальные ребра графа G будем называть хордами.
Поиск в ширину. О(n+m)
1.BEGIN
2.FOR uV DO НОВЫЙ[u] := true; {инициализация}
3.T :=; {множество найденных к этому времени ветвей}
4.ОЧЕРЕДЬ := ; ОЧЕРЕДЬ r;
5.НОВЫЙ[r] := false; {г - корень стягивающего дерева}
6. WHILE ОЧЕРЕДЬ |
DO BEGIN |
7.v <= ОЧЕРЕДЬ;
8.FOR u СПИСОК[u] DO
9.IF НОВЫЙ[u] THEN BEGIN
10.ОЧЕРЕДЬ <= и; НОВЫЙ[u] := false; Т := Т {v, u}
11.END
12.END
13.END
14.return T
Соседние файлы в папке 35-66