Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 7-8-прим.doc
Скачиваний:
36
Добавлен:
24.12.2018
Размер:
244.22 Кб
Скачать

Пути. Циклы. Цепи в графах

Пусть G = (V, E) некоторый граф. Путем (маршрутом) в графе G, соединяющим вершины v1 и vn, называется любая чередующаяся последовательность вершин и ребер вида v0,e 0,v1,e1,v2,e 2…vn-1,e n-1,vn, в которой каждое ребро ei инцидентно вершинам vi и vi+1.

Путь называется замкнутым, если его начальная и конечная вершины совпадают.

Путь называется цепью, если все его ребра различны.

Цепь называется простой, если все ее вершины различны.

Замкнутая цепь называется циклом.

Цикл называется простым, если его вершины не повторяются.

Вот схематическое изображение простого цикла:

А вот схематическое изображение цикла, не являющегося простым:

Для пути v0, e 0 ,v1, e1 , ….vn число ребер n называется длиной пути.

Две вершины графа могут быть связаны некоторым путем: их называют связанными. Например, в графе

a1

a2 a3 . a4

a5

вершины a3 и a5 связаны (путем ), а вершины a4 и a1 нет.

Простой граф – это граф, не содержащий петель и кратных ребер.

Граф называется связным, если для любой пары его вершин существует соединяющая их простая цепь. Т.о. граф связен, если из любой его вершины можно прийти к любой другой. Таким образом, выше приведен пример графа несвязного. Связной компонентой графа называется такой его подграф, который является сам по себе графом связным и при этом совпадающим с любым другим содержащим его связным подграфом. Таким образом, связный граф обладает единственной связной компонентой - это он сам. А вот пример графа с тремя связными компонентами (имена вершин не имеют значения):

Компонентой связности графа называется максимальный (по числу вершин и ребер) связный подграф этого граф.

Каждый граф или сам является компонентой связности или распадается на компоненты. Граф, содержащий хотя бы две компоненты связности, называется несвязным. Связный граф состоит из одной компоненты связности.

Граф называется эйлеровым, если он содержит цикл, проходящий через все ребра этого графа по одному разу. Такой цикл называется эйлеровым циклом.

Вот пример эйлерова графа:

А вот пример графа, не являющегося эйлеровым:

Обходы графа

Во многих задачах, решаемых с использованием графов, требуется проложить маршрут от одной вершины графа к другой или обойти все его вершины, учитывая те или иные ограничения.

Смысл такой задачи на интуитивном уровне ясен, но требуется уточнить понятия, используемы при решении подобного рода задач.

Прежде всего, уточним термины "маршрут", "цепь", "цикл" и "путь". Эти четыре понятия находятся в следующем соотношении: пути и циклы – это особые виды цепей, цепь – особый вид маршрута.

Маршрут – это последовательность вершин и ребер графа, следуя по которым, можно попасть из одной его вершины в другую.

Цепь – это маршрут без повторяющихся ребер.

Путь – это цепь, все вершины которой (за исключением, быть может, начальной и конечной) различны.

Цикл – это цепь, у которой совпадают начальная и конечная вершины, а все остальные различны.

Пример.

Можно составить следующие маршруты из А в С в графе G:

М1: А – е1 – В – е3 – С (путь);

М2: А – е2 – Е – е6 – Д – е7 – Д – е6 – Е – е5 – С (не цепь);

М3: А – е1 – B – е3 – C – е5 – Е – е4 – С (цепь, но не путь).

Циклы:

А – е1 – В – е3 – С – е4 – Е – е2 – А;

Е – е4 – С – е5 – Е;

Д – е7 – Д.

Граф называют связным, если из каждой его вершины существует путь в любую другую его вершину. Граф, рассмотренный в примере, является, связным. Если удалить из него ребро , то он потеряет связность и распадется на компоненты: одна из компонент будет содержать вершину Д и петлю , вторая компонента – вершины А,В,С,Е, связанные между собой всеми оставшимися ребрами.

Для представления данных в алгоритмах на дискретных структурах часто используются графы, которые называются деревьями.

Деревом называют связный неорграф, не содержащий циклов.

На рис. 6.8 показано, так называемое, корневое дерево. Одна из вершин корневого дерева (вершина 1) выделена, ее называют корнем дерева. Оставшиеся вершины разбиты на поддеревья (поддерево с вершинами 2,5,6 и поддерево 4,7,8,9). Вершины 5,6,3,7,8,9 называют листьями дерева. Несвязный неорграф, компонентами которого являются деревья, называют лесом.

Если граф связный, но не является деревом, в нем всегда можно выделить часть, включающую все вершины и образующую дерево. Такую часть графа называют остовом графа. Если граф несвязен, то можно превратить в дерево каждую его компоненту. Полученная совокупность деревьев носит название остовного леса.

Вообще говоря, в графе можно выделить несколько различных остовов. Каждый из них будет являться деревом, включающим все вершины графа, а следовательно, число ребер любом из остовов будет на единицу меньше числа вершин графа. Если выделен какой-либо остов, то все ребра графа, не вошедшие в этот остов, образуют коостов, соответствующий данному остову.

Остовным деревом связного графа G называется любой его подграф, содержащий все вершины графа G и являющийся деревом.

Пусть G связный граф. Тогда остовное дерево графа G (если оно существует) должно содержать n(G) – 1 ребер. Таким образом, любое остовное дерево графа G есть результат удаления из G ровно m(G)-(n(G)-1)=m(G)-n(G)+1 ребер.

На рис. 6.9 показан пример выделения деревьев, остовов и коостовов из графа .