
- •Введение
- •1. Начальные сведения из теории графов
- •Определения графа и ориентированного графа
- •Задание графов с помощью матриц
- •Изоморфизм графов
- •Подграф
- •Маршруты, связность
- •Графы специального вида
- •Деревья
- •2.1. Эквивалентные определения понятия дерева. Остовные деревья
- •Построение остовного дерева
- •Построение кратчайших путей на графе
- •3.1. Алгоритм Дейкстры и алгоритм Форда
- •Алгоритм Флойда
- •4. Эйлеровы графы
- •4.1 Понятие об эйлеровом графе. Критерий наличия в графе эйлерова цикла
- •Алгоритм Флери построения эйлерова цикла
- •Эйлеровы ориентированные графы
Подграф
Граф H={VH;EH} называется подграфом графа G={VG;EG}, если VHVG и EHEG; в этом случае говорят, что H содержится в G. Если VH=VG, то H - остовный подграф (фактор) графа G. Говорят, что подграф H порожден множеством вершин U, если VH=U и множество его ребер совпадает с множеством всех ребер графа G, оба конца которых принадлежат U.
Аналогично вводится понятие подграфа, порожденного множеством ребер E. У такого подграфа множество ребер совпадает с E, а множество вершин есть множество концов ребер из E.
Для того чтобы получить некоторый подграф исходного графа, используются следующие операции:
- удаление выбранного ребра при сохранении имеющихся вершин;
- удаление выбранной вершины вместе со всеми инцидентными ей ребрами.
Удаление произвольного множества вершин или ребер из графа G можно осуществить путем последовательного удаления всех элементов этого множества. Порядок удаляемых элементов при этом несущественен.
На рис.9 изображены граф и несколько его подграфов. Заметим, что подграф F=G-e4-e6-e7, а подграф G(U)=G-v3-v4-v5. Знак "-" обозначает здесь операцию удаления некоторого элемента графа.
Рис.9. G - данный граф; F - один из факторов графа G;
G(U) - подграф, порожденный множеством U={v1,v,v6,v7};
G(E) - подграф, порожденный множеством E={e2,e3,e4}
Маршруты, связность
Определим маршрут, соединяющий в графе вершины v0 и vk, как чередующуюся последовательность вершин и ребер v0, e1, v1, …, vk-1, ek,vk, такую, что ei={vi-1,vi} (i=1, …,k). При отсутствии в графе кратных ребер будем в дальнейшем записывать только последовательность вершин v0v1v2…vk. Если v0=vn, маршрут называют замкнутым. Если в маршруте все ребра различны, то его называют цепью, а если к тому же различны все вершины - простой цепью. Замкнутая цепь называется циклом, простая замкнутая цепь - простым циклом.
Для орграфа можно ввести аналогичные понятия, работая с дугами ei=(vi-1,vi) (i=1, …,k). Соответствие в терминологии отражено в таблице
Граф |
Орграф |
маршрут |
ориентированный маршрут |
замкнутый маршрут |
замкнутый ориентированный маршрут |
цепь |
цепь |
простая цепь |
путь |
цикл |
- |
простой цикл |
контур |
П
ример
9.
Рассмотрим граф на рис.10. Приведем
примеры, иллюстрирующие вновь введенные
понятия для неориентированного графа:
v1v3V6V8V7V2V1V3v4 - маршрут;
v1v3v6v8v7V5V7v2v1 - замкнутый маршрут;
v1v3v4 - простая цепь, которая получается из построенного в п.1 маршрута путем удаления выделенных вершин и расположенных между ними ребер;
v1v3v6v8v7v2v1 - простой цикл, который получается аналогично из построенного в п.2 замкнутого маршрута. ■
Граф (мультиграф) называется связным, если любые две его несовпадающие вершины соединены маршрутом.
Назовем связной компонентой (или просто компонентой) графа G всякий максимальный связный подграф графа G. Максимальность понимается в том смысле, что компонента не содержится в другой компоненте с бóльшим числом элементов. Если граф G связный, то в силу сказанного он имеет единственную компоненту, совпадающую с самим графом.
На рис.11 изображен граф, содержащий две компоненты S1=G{u1,…,u4} и S1=G{u5,…,u8}.
Будем говорить, что вершина v графа G - точка сочленения, если G-v содержит больше компонент, чем G. Аналогично, ребро e графа G - мост, если G-e содержит больше компонент, чем G. На рис.12 изображен граф, содержащий мосты {u2,u4} и {u3,u5}, а также точки сочленения u3, u4, u5. Вершина, инцидентная мосту, является точкой сочленения, если только эта вершина не концевая. Так, вершины u3 и u5, инцидентные мосту {u3,u5}, являются точками сочленения. Ребро {u2,u4} является мостом, так как удаление этого ребра приводит к возникновению двух компонент, одна из которых будет содержать изолированную вершину u2. Однако, граф G-u2 является связным, как и граф G. Так что u2 точкой сочленения не является.