Эйлеровость графов
Версия от 08:06, 30 ноября 2011; 192.168.0.2 (обсуждение)
Содержание
Эйлеров обход
Определение: |
Эйлеров обход - обход графа, посещающий эйлеров путь. |
Эйлеров путь
Определение: |
Эйлеровым путем в графе называется путь, который проходит по каждому ребру, причем ровно один раз. |
Эйлеров цикл
Определение: |
Эйлеров цикл - эйлеров путь, который является циклом. |
Эйлеров граф
Определение: |
Граф называется эйлеровым, если он содержит эйлеров цикл. Граф, содержащий эйлеров путь, не являющийся циклом, называют полуэйлеровым. |
Критерий эйлеровости
Необходимое условия:
1. Количество вершин нечетной степени не превосходит двух.
2. Все компоненты связности кроме, может быть одной, не имеют ребер.
Теорема: |
В графе существует эйлеров цикл тогда и только тогда, когда:
1. Все вершины имеют четную степень. 2. Все компоненты связности кроме, может быть одной, не имеют ребер. |
Доказательство: |
База индукции: Рассмотрим граф цикл существует. При доказано. в котором количество вершин с четной степенью больше нуля. Рассмотрим произвольную вершину . Из нее выходит ребро. Пойдем по нему и будем действовать далее также. Таким образом можно дойти до и найти цикл. Выкинем ребра цикла из графа. Первое условие сохранится. Второе может не выполниться. |
Следствие
В графе
существует эйлеров путь тогда и только тогда, когда:1. Количество вершин с нечетной степенью меньше или равно двум.
2. Все компоненты связности кроме, может быть одной, не имеют ребер.
Доказательство
Добавим ребро, соединяющее вершины с нечетной степенью. Теперь можно найти эйлеров цикл, после чего удалить добавленное ребро.
Ориентированный граф
Теорема: |
Ориентированный почти связный граф является эйлеровым тогда и только тогда, когда входная степень любой вершины равна ее выходной степени. |
Алгоритм построения эйлерова цикла, эйлерова пути
Запускаем алгоритм от вершины
:procedure FindEulerPath (V)
1. перебрать все рёбра, выходящие из вершины V; каждое такое ребро удаляем из графа, и вызываем FindEulerPath из второго конца этого ребра; 2. добавляем вершину V в ответ.