
- •Виды графов
- •Изоморфизм
- •Матричное задание графа
- •Свойства матрицы смежности
- •Операции над графами
- •Достижимость и связность
- •Матрицы достижимости и контрдостижимости
- •Нахождение сильных компонент
- •Конденсация графа
- •Базы и антибазы
- •Построение компонент связности в неориентированном графе
- •Построение компонент связности в ориентированном графе
- •Система независимых циклов
- •Дерево. Остов граф
- •Процесс восстановления дерева по набору
- •Алгоритм построения произвольного остова
- •Определение минимального остова
- •Алгоритм построения системы независимых циклов графа
- •Определение кратчайшего пути на графе методом Дейкстры
- •Модификация Форда
- •Алгоритмы поиска всех кратчайших путей
- •Алгоритм Флойда
- •Алгоритм Флойда
- •Алгоритм Данцига
- •Алгоритм Данцига
- •Раскраска
- •Метод построения функции Гранди на графе
- •Свойства хроматического числа
- •Гамильтоновы пути, контуры и задача Коммивояжера
- •Метод Роберта и Флореса (перебор-метод для орграфов)
- •Применение метода ветвей и границ к решению задачи Коммивояжера.
- •Потоковые алгоритмы
- •Алгоритм поиска увеличивающего пути
- •Алгоритм поиска максимального потока
- •Алгоритм Форда и Фалкерсона
- •Модификация алгоритма поиска максимального потока при нескольких источниках и стоках
- •Алгоритм поиска потока минимальной стоимости
- •Алгоритм поиска потока минимальной стоимости
- •Алгоритмы построения покрывающих деревьев
- •Алгоритм построения покрывающего дерева славик?!! последняя :-(
Процесс восстановления дерева по набору
Строим набор В – последовательность номеров вершин
Если в наборе В остаётся всего 2 номера вершин, то соединим их и искомое дерево построено, иначе находим в наборе В минимальный номер, которого нет в наборе А и соединяем эту вершину с вершиной, номер которой указан первым в наборе. Вычеркиваем эти номера из наборов А и В. Снова выполняем шаг 2.
Пример: пусть задано два набора А и В. Необходимо восстановить дерево.
3
1
3
1 2
5
1 2 4
5
1 2 4
6
5
1 2 4
7 6
5
1 2 4
7 6
5
1 2 4
8 7 6
5
1 2 4
9 8 7 6
Любой граф без циклов называется ациклическим (или лесом). Компонентами леса являются деревья.
Остов графа.
Если граф несвязный, то рассматриваются его отдельные компоненты. Остов такого графа определяется, как совокупность остовов его компонент.
Частичный подграф, который может быть построен для каждой компоненты графа удалением некоторых ребер и который является деревом, называется остовом графа.
В общем случае, для графа можно построить несколько остовов.
Пример:
для связного графа
Рис. 40
для несвязного графа
Рис. 41
Алгоритм построения произвольного остова
Для каждой компоненты i графа выполняются пункты 2 и 3.
Строим частичный граф, содержащий все Ni вершины компоненты и не содержащий ребер (нуль-граф) (Ni -1)
Если в текущий граф уже включены (Ni -1) ребер, то остов для i-ой компоненты построен, иначе выбираем очередное нерассмотренное ребро компоненты и пытаемся включить его в граф. Если в текущем графе включаемое ребро не приводит к образованию цикла, то включаем это ребро, иначе не включаем. Ребро считается при этом рассмотренным. Повторяем шаг 3.
х2
2
3
х1 2 х3
1 3 остов
графа
(является деревом)
7 5 4
5 4
х5 6 х4
Рис.42