50301 (Графы и их представление на ЭВМ), страница 2
Описание файла
Документ из архива "Графы и их представление на ЭВМ", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "50301"
Текст 2 страницы из документа "50301"
Другой способ представления графа обеспечивает функция, которая выдает списки узлов, с которыми данный узел связан непосредственно. Для графа, отображенного на рис. 2.2.3, такое описание можно представить в виде структуры (таблица 2.1). В колонке s представлены номера узлов, далее в строке таблицы следует список соседних узлов. По этой причине число колонок в каждой из строк различно.
Таблица 2.1
2.3 Представление ориентированных граф
Представление ориентированных граф элементами матриц смежности и инцидентности являются 0, 1, -1. Пусть даны два ориентированных графа (рис. 2.3.1), тогда матрицы смежности и инцидентности для них будут выглядеть как в таблицe 2.3
Рис. 2.3.1 Ориентированные графы
Таблица 2.3
Матрица смежности | |||||||||||||||||||||||||||||||||
A | B | ||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||
Матрица инцидентности | |||||||||||||||||||||||||||||||||
|
|
В матрице инцидентности для ориентированных граф ставится 0 – если вершина и ребро не инцидентны, -1 – если вершина является началом, 1 – если вершина является концом.
3. Виды графов и операции над ними
3.1 Элементы графов
Для рассмотрения видов граф и операций над ними необходимо познакомиться с такими понятиями как подграфы, маршрут, цепь, цикл.
Граф G'(V', Е') называется подграфом графа G(V, Е) (обозначается G' G), если V' V и/или Е' Е.
Если V' = V, то G ' называется остовным подграфом G.
Если V' V & Е' Е & (V' V Е' Е), то граф G ' называется собственным подграфом графа G.
Подграф G'(V' , Е') называется правильным подграфом графа G(V,Е), если G ' содержит все возможные ребра G:
и,v V' (и, v) Е (и, v) Е'.
Правильный подграф G '(V ' , Е') графа G (V, Е) определяется подмножеством вер шин V '.
Маршрутом в графе называется чередующаяся последовательность вершин и ребер в которой любые два соседних элемента инцидентны.
v0, e1, v1, e2, v2,…,ek, vk,
Это определение подходит также для псевдо-, мульти- и орграфов. Для «обычного» графа достаточно указать только последовательность вершин или только последовательность ребер.
Если v0 = vk, то маршрут замкнут, иначе открыт. Если все ребра различны, то маршрут называется цепью. Если все вершины (а значит, и ребра) различны, то маршрут называется простой цепью. В цепи v0, e1, v1, e2, v2,…,ek, vk,
вершины v0 и vk, называются концами цепи. Говорят, что цепь с концами и и v соединяет вершины и и v. Цепь, соединяющая вершины и и v, обозначается (и, v). Очевидно, что если есть цепь, соединяющая вершины и и v, то есть и простая цепь, соединяющая эти вершины.
Замкнутая цепь называется циклом; замкнутая простая цепь называется простым циклом. Число циклов в графе G обозначается z(G). Граф без циклов называется ациклическим.
Элементы графа – любое чередование вершин и рёбер графа, в котором каждому ребру предшествует смежная ей вершина, называющаяся контуром графа.
Рис 3.1 Маршруты, цепи, циклы
По рисунку 3.1 можно определить следующие утверждения:
-
A, C, A, D – маршрут, но не цепь;
-
A, C, E, B, C, D – цепь, но не простая цепь;
-
A, D, C, B, E, - простая цепь;
-
A, C, E, B, C, D, A – цикл, но не простой цикл;
-
A, C, D – простой цикл;
Цепь в ориентированном графе называется путём, а цикл – контуром.
3.2 Изоморфизм графов
Говорят, что два графа G1(V1 , Е1) и G2(V2 , Е2) изоморфны (обозначается G1 ~ G2), если существует биекция h: V1 V2, сохраняющая смежность:
e1 = ( u , v ) E1 e2 = ( h( u ), h( v ) ) E2,
e2 = ( u , v ) E2 e1 = ( h-1( u ), h-1( v ) ) E1
Изоморфизм графов есть отношение эквивалентности. Действительно, изомор физм обладает всеми необходимыми свойствами:
-
рефлексивность: G ~ G, где требуемая биекция суть тождественная функция;
-
симметричность: если G1 ~ G 2 с биекцией h, то G 2 ~ G 1 с биекцией h-1;
-
транзитивность: если G1 ~ G 2 с биекцией h, и G 2 ~ G 3 с биекцией g, тоG 1 ~ G 3 с биекцией g h.
Графы рассматриваются с точностью до изоморфизма, то есть рассматриваются классы эквивалентности по отношению изоморфизма.
П риведём примеры изоморфных графов рис. 3.2
Рис. 3.2 Диаграммы изоморфных граф
Числовая характеристика, одинаковая для всех изоморфных графов, называется инвариантом графа. Так, р(G) и д(G) — инварианты графа С.
Не известно никакого набора инвариантов, определяющих граф с точностью до изоморфизма.
3.3 Тривиальные и полные графы
Граф, состоящий из одной вершины, называется тривиальным. Граф, состоящий из простого цикла с k вершинами, обозначается Сk.
Пример
С3 — треугольник.
Граф, в котором каждая пара вершин смежна, называется полным. Полный граф с р вершинами обозначается Кр, он имеет максимально возможное число ребер:
Полный подграф (некоторого графа) называется кликой (этого графа).
3.4 Двудольные графы
Двудольный граф (или биграф, или четный граф) — это граф G(V,Е), такой что множество V разбито на два непересекающихся множества V1 и V2 (V1 V2 = V V1 V2) причем всякое ребро из Е инцидентно вершине из V1 и вершине из V2 (то есть соединяет вершину из V1 с вершиной из V2). Множества V1 и V2 называются долями двудольного графа. Если двудольный граф содержит все ребра, соединяющие множества V1 и V2, то он называется полным двудольным графом. Если | V1 | = m и | V1 | = п, то полный двудольный граф обозначается Km,n
3.5 Направленные орграфы и сети
Если в графе ориентировать все ребра, то получится орграф, который называется направленным. Направленный орграф, полученный из полного графа, называется турниром.
Название «турнир» имеет следующее происхождение. Рассмотрим спортивное соревнование для пар участников (или пар команд), где не предусматриваются ничьи. Пометим вершины орграфа участниками и проведем дуги от победителей к побежденным. В таком случае турнир в смысле теории графов — это как раз результат однокругового турнира в спортивном смысле.
Если в орграфе полустепень захода некоторой вершины равна нулю (то есть d+(v) = 0), то такая вершина называется источником, если же нулю равна полу степень исхода (то есть d-(v) = 0), то вершина называется стоком. Направлен ный орграф с одним источником и одним стоком называется сетью.
3.6 Операции над графами
-
Дополнением графа G1(V1 , Е1) называется граф G(V2 , Е2) рис. 3.6.1, где
V 2 : = V1 Е2 : = Е1 : = e V1 V1 e Е1
G1G
Рис 3.6.1 Дополнение
Объединением графов G1(V1 , Е1) и G2(V2 , Е2) (обозначение - G1 G2, при условии V1 V1 = , Е1 Е2 = ) называется граф G(V,E), рис. 3.6.3
V : = V2 V1 Е : = Е1 Е2
Рис. 3.6.3 Объединение графов
-
Соединением графов G1(V1 , Е1) и G2(V2 , Е2)(обозначение - G1(V1 , Е1) + G2(V2 , Е2), при условии V1 V2 называется граф G(V,E), где
V : = V1 V2 E : = Е1 Е2 e = (v1, v2) v1 V1 v2 V2
-
Удаление вершины v из графа G1(V1 , Е1) (обозначение - G1(V1 , Е1) – v, при условии vV1) даёт граф G2(V2 , Е2), где
V2 : = V1 \ v E2 : = E1 \ e = (v1 , v2) v1 = v v2 = v
-
Удаление ребра e из графа G1(V1 , Е1)(обозначение - G1(V1 , Е1) – e, при условии e E1) даёт граф G2(V2 , Е2), где
V2 : = V1 E2 : = E1 \ e
-
Добавление вершины v в граф G1(V1 , Е1) (обозначение - G1(V1 , Е1) + v, при условии v V1) даёт граф G2(V2 , Е2), где
V2 : = V1 v E2 : = E1
-
Добавление ребра e в граф G1(V1 , Е1) (обозначение - G1(V1 , Е1) + v, при условии e E1) даёт граф G2(V2 , Е2), где
V2 : = V1 E2 : = E1 e
-
Стягивание подграфа А графа G1(V1 , Е1) (обозначение - G1(V1 , Е1) / А, при условии А V1) даёт граф G2(V2 , Е2), где
V2 : = (V1 \ A) v
E2 : = E1 \ e = (u,w) u A w A e = (u,v) u Г(А) \ А
4. Представление графов в ЭВМ
Следует еще раз подчеркнуть, что конструирование структур данных для представления в программе объектов математической модели — это основа искусства практического программирования. Используется четыре различных базовых представления графов. Выбор наилучшего представления определяется требованиями конкретной задачи. Более того, при решении конкретных задач используются, как правило, некоторые комбинации или модификации указанных представлений, общее число которых необозримо. Но все они, так или иначе, основаны на тех базовых идеях, которые описаны в этом разделе.