Эйлеровость графов — различия между версиями
(→Критерий эйлеровости) |
(→Критерий эйлеровости) |
||
Строка 55: | Строка 55: | ||
Допустим, что <tex>v_1</tex> и <tex>v_2</tex> - вершины графа. Поскольку граф связный, то существует путь из <tex>v_1</tex> в <tex>v_2</tex>. Поскольку степень <tex>v_2</tex> - чётная, существует неиспользованное ребро, по которому можно продолжить путь. Поскольку граф конечный, то путь, в конце концов, должен вернуться в <tex>v_1</tex>, и эйлеров цикл можно считать построенным. Если <tex>C_1</tex> является эйлеровым циклом для <tex>G</tex>, тогда доказательство закончено. Если нет, то пусть <tex>G'</tex> - подграф графа <tex>G</tex>, полученный удалением всех рёбер, принадлежащих <tex>C_1</tex>. Поскольку <tex>C_1</tex> содержит чётное число рёбер, инцидентных каждой вершине, то каждая вершина подграфа <tex>G'</tex> имеет чётную степень. Заметим что <tex>G'</tex> может состоять из нескольких компонент связности. | Допустим, что <tex>v_1</tex> и <tex>v_2</tex> - вершины графа. Поскольку граф связный, то существует путь из <tex>v_1</tex> в <tex>v_2</tex>. Поскольку степень <tex>v_2</tex> - чётная, существует неиспользованное ребро, по которому можно продолжить путь. Поскольку граф конечный, то путь, в конце концов, должен вернуться в <tex>v_1</tex>, и эйлеров цикл можно считать построенным. Если <tex>C_1</tex> является эйлеровым циклом для <tex>G</tex>, тогда доказательство закончено. Если нет, то пусть <tex>G'</tex> - подграф графа <tex>G</tex>, полученный удалением всех рёбер, принадлежащих <tex>C_1</tex>. Поскольку <tex>C_1</tex> содержит чётное число рёбер, инцидентных каждой вершине, то каждая вершина подграфа <tex>G'</tex> имеет чётную степень. Заметим что <tex>G'</tex> может состоять из нескольких компонент связности. | ||
− | Рассмотрим какую | + | Рассмотрим какую - либо компоненту связности <tex>G'</tex>. Поскольку рассматриваемая компонента связности <tex>G'</tex> имеет менее, чем <tex>n</tex> вершин, а у каждой вершины графа <tex>G'</tex> чётная степень, то у каждой компоненты связности <tex>G'</tex> существует эйлеров цикл. Пусть для рассматриваемой компоненты связноти это цикл <tex>C_2</tex>. У <tex>C_1</tex> и <tex>C_2</tex> имеется общая вершина <tex>a</tex>, так как <tex>G</tex> cвязен. Теперь можно обойти эйлеров цикл, начиная его в вершине <tex>a</tex>, обойти <tex>C_1</tex> , вернуться в <tex>a</tex>, затем пройти <tex>C_2</tex> и вернуться в <tex>a</tex>. Если новый эйлеров цикл не является эйлеровым циклом для <tex>G</tex>, продолжаем использовать этот процесс, расширяя наш эйлеров цикл, пока, в конце концов, не получим эйлеров цикл для <tex>G</tex>. |
}} | }} |
Версия 22:46, 10 декабря 2011
Содержание
Эйлеров путь
Определение: |
Эйлеровым путем в графе называется путь, который проходит по каждому ребру, причем ровно один раз. |
Эйлеров обход
Определение: |
Эйлеров обход - обход графа, посещающий эйлеров путь. |
Эйлеров цикл
Определение: |
Эйлеров цикл - замкнутый эйлеров путь. |
Эйлеров граф
Определение: |
Граф называется эйлеровым, если он содержит эйлеров цикл. Граф называется полуэйлеровым, если он содержит эйлеров путь, но не содержит эйлеров цикл. |
Критерий эйлеровости
Необходимое условия:
1. Количество вершин нечетной степени не превосходит двух.
2. Все компоненты связности кроме, может быть одной, не содержат ребер.
Доказательство:
1. Допустим в графе количество вершин нечетной степени больше двух. Заметим, что при попадании в вершину и при выходе из нее мы уменьшаем ее степень на два(помечаем уже пройденые ребра), если эта вершина не является стартовой или конечной. Следовательно вершин с нечетной степенью не может быть больше двух. Наше предположение неверно.
2. Если в графе существует более одной компоненты связности с ребрами, то очевидно, что нельзя пройти по их ребрам одним путем.
Теорема: |
В графе существует эйлеров цикл тогда и только тогда, когда:
1. Все вершины имеют четную степень. 2. Все компоненты связности кроме, может быть одной, не содержат ребер. |
Доказательство: |
Докажем эту теорему, используя индукцию по числу вершин .База индукции: цикл существует.Предположим что граф имеющий менее вершин содержит эйлеров цикл.Рассмотрим связный граф с вершинами, степени которых четны.Допустим, что Рассмотрим какую - либо компоненту связности и - вершины графа. Поскольку граф связный, то существует путь из в . Поскольку степень - чётная, существует неиспользованное ребро, по которому можно продолжить путь. Поскольку граф конечный, то путь, в конце концов, должен вернуться в , и эйлеров цикл можно считать построенным. Если является эйлеровым циклом для , тогда доказательство закончено. Если нет, то пусть - подграф графа , полученный удалением всех рёбер, принадлежащих . Поскольку содержит чётное число рёбер, инцидентных каждой вершине, то каждая вершина подграфа имеет чётную степень. Заметим что может состоять из нескольких компонент связности. . Поскольку рассматриваемая компонента связности имеет менее, чем вершин, а у каждой вершины графа чётная степень, то у каждой компоненты связности существует эйлеров цикл. Пусть для рассматриваемой компоненты связноти это цикл . У и имеется общая вершина , так как cвязен. Теперь можно обойти эйлеров цикл, начиная его в вершине , обойти , вернуться в , затем пройти и вернуться в . Если новый эйлеров цикл не является эйлеровым циклом для , продолжаем использовать этот процесс, расширяя наш эйлеров цикл, пока, в конце концов, не получим эйлеров цикл для . |
Следствие:
В графе
существует эйлеров путь тогда и только тогда, когда:1. Количество вершин с нечетной степенью меньше или равно двум.
2. Все компоненты связности кроме, может быть одной, не содержат ребер.
Доказательство:
Добавим ребро, соединяющее вершины с нечетной степенью. Теперь можно найти эйлеров цикл, после чего удалить добавленное ребро. Очевидно найденный цикл станет путем.
Ориентированный граф
Теорема: |
В ориентированном графе существует эйлеров цикл тогда и только тогда, когда:
1. Входная степень любой вершины равна ее выходной степени. 2. Все компоненты слабой связности кроме, может быть одной, не содержат ребер. |
Доказательство: |
Доказательство аналогично случаю неориентированного графа. |
Следствие:
В ориентированном графе
существует эйлеров путь если:1. Входная степень любой вершины равна ее выходной степени, кроме двух вершин графа, для одной из которых
, а для другой .2. Все компоненты слабой связности кроме, может быть одной, не содержат ребер.
Доказательство:
Соединим ориентированным ребром вершину с большей входящей степенью с вершиной с большей исходящей степенью. Теперь можно найти эйлеров цикл, после чего удалить добавленное ребро. Очевидно найденный цикл станет путем.
Полезные ссылки
- Ф.Харари Теория графов. глава 7. Обходы графов. Эйлеровы графы.
- Нахождение эйлерова пути
- Алгоритм построения Эйлерова цикла