
- •Введение
- •1. Начальные сведения из теории графов
- •Определения графа и ориентированного графа
- •Задание графов с помощью матриц
- •Изоморфизм графов
- •Подграф
- •Маршруты, связность
- •Графы специального вида
- •Деревья
- •2.1. Эквивалентные определения понятия дерева. Остовные деревья
- •Построение остовного дерева
- •Построение кратчайших путей на графе
- •3.1. Алгоритм Дейкстры и алгоритм Форда
- •Алгоритм Флойда
- •4. Эйлеровы графы
- •4.1 Понятие об эйлеровом графе. Критерий наличия в графе эйлерова цикла
- •Алгоритм Флери построения эйлерова цикла
- •Эйлеровы ориентированные графы
Алгоритм Флери построения эйлерова цикла
Установив , что данный граф эйлеров, построим в нем какой-нибудь эйлеров цикл. Для этого нужно указать очередность обхода ребер в цикле, присвоив им соответствующие порядковые номера. Решить такую задачу позволяет алгоритм Флери, который заключается в следующем:
Начиная с произвольной вершины s, присваиваем произвольному ребру {s,v} номер 1. Исключаем это ребро из дальнейшего рассмотрения (вычеркиваем) и переходим в вершину v.
Пусть на очередном шаге мы пришли в некоторую вершину w, присвоив какому-то ребру {v,w} номер k. Среди еще непронумерованных ребер, инцидентных w, выбираем любую; при этом мост выбираем только в том случае, когда нет других возможностей; присваиваем выбранному ребру номер k+1, вычеркиваем это ребро.
Заканчивается выполнение алгоритма, когда все ребра данного графа пронумерованы.
Далее приведено обоснование алгоритма Флери.
Теорема 9. Алгоритм Флери позволяет построить эйлеров цикл, если такой цикл существует в данном графе.
▲
Так
как рассматривается эйлеров граф G,
то степени всех вершин четные. Значит,
алгоритм заканчивает работу в той
вершине, в которой начал. Тем самым
показано, что алгоритм Флери строит
некоторый цикл С. Осталось доказать,
что С включает в себя все ребра графа
G.
Предположим обратное. Пусть также G´
- связная компонента графа G1,
который получен из G
путем удаления всех ребер цикла С.
Рассмотрим множество Е´ ребер цикла С,
которые инцидентны вершинам из G´.
В силу связности графа G
имеем E´≠.
Пусть e
- ребро из Е´, получившее при выполнении
алгоритма наибольший номер, то есть
пронумерованное среди ребер из Е´
последним (рис.21).
Нетрудно убедиться, что к моменту вычеркивания ребро е было мостом. Однако, это противоречит правилу выбора очередного ребра. Значит, предположение о том, что цикл С не является эйлеровым, неверно. ▲
Эйлеровы ориентированные графы
Понятие эйлерова ориентированного графа определяется аналогично понятию эйлерова неориентированного графа. Рассматривается связный орграф, то есть такой орграф, из которого в результате снятия ориентации дуг получается связный неориентированный мультиграф. Цепь, содержащая все дуги орграфа, называется эйлеровой. Связный орграф называется эйлеровым, если в нем есть замкнутая эйлерова цепь. Аналогом теоремы 8 для орграфов является следующая теорема.
Теорема 10. Для связного ориентированного графа G следующие утверждения равносильны:
граф G эйлеров;
для любой вершины v орграфа G верно равенство od(v)=id(v).
Доказывается эта теорема так же, как теорема 8.