- •5. Элементы теории графов
- •5.1. Основные понятия
- •5.2. Определение и способы задания графов определение
- •1. Списки ребер
- •2. Матрицы смежности
- •3. Матрицы инциденций
- •4. Списки смежности
- •5.3. Изоморфизм графов
- •Определение
- •5.4. Планарность графов
- •Определение
- •Определение
- •Определение
- •Определение
- •5.5. Пути и связность в графах
- •Определение
- •Определение
- •Упражнения
- •5.6. Транзитивное замыкание графов определение
- •5.7.Деревья
- •Определение
- •Определение
- •Теорема 5.4
- •Определение
- •5.8. Цикломатика графов
- •5.8.1. Циклы эйлера и гамильтона
- •Определение
- •Доказательство
- •Индуктивное предположение
- •Определение
- •5.8.2. Фундаментальное множество
- •Доказательство
- •Определение
- •Теорема 5.8
- •5.9. Внутренне и внешне устойчивые
- •Определение
- •Определение
- •Определение
- •Определение
- •Теорема 5.10
- •Теорема 5.11
- •Доказательство
- •5.10. Хроматическое число графа
- •Определение
- •Определение
- •Теорема 5.12
- •Теорема 5.13
- •Доказательство
4. Списки смежности
Данный способ представления графов в значительной степени лишен избыточности, присущей табличным представлениям.
Пусть G = (V, U) некоторый граф, для которого
V = {v1, ... , vn} и U = {u1, ... , uk}.
Образуем два массива, которые обозначим как A и B.
Массив A состоит из n элементов, по одному для каждой вершины графа, а B столько элементов, сколько существует концов различных ребер в G.
При построении списков смежности для каждой вершины графа сформируем список вершин, в которые ведут ребра, выходящие из выбранной вершины. То есть элементы списков содержат концы всех ребер, выходящих из соответствующих вершин.
Для графа, изображенного на рис. 5.3., такие списки имеют вид:
-
Вершина
Список
a
b
c
d
e
f
L(a) = f c b
L(b) = d
L(c) = e
L(d) = d b f
L(e) =
L(f) = d
Здесь список L(e) является пустым.
Элементы списков L(v1)L(vn) последовательно записываются в массив B.
В первый, второй и последующие элементы массива A помещаются значения номеров элементов в B, которые являются в массиве B началами списков L(v1), L(v2) и т.д.
Если при этом некоторый список L(vi) оказывается пустым, значение ссылки в элементе A(i) полагается равным 0. Такое представление графов является полным, поскольку в нем элементами массива A представлены все вершины, а массив B представляет все ребра графа. Множество ребер, выходящих из произвольной вершины vi представлено своими концами в части массива B, начинающейся с элемента A(i) и заканчивающейся либо в элементе A(j) – 1, где j = min t ( t > i A(t) 0), либо в последнем элементе массива B.
Для рассматриваемого графа массивы A и B имеют вид:
A 1 4 5 6 0 9
B f c b d e d b f d
Здесь с помощью стрелок изображены ссылки на элементы массива B, с которых начинаются вхождения списков L(v1) L(vn).
5.3. Изоморфизм графов
Рассмотрим графы, изображенные на рис. 5.4.
a b 1 2
e f 3 4
G2
g h 5 6
G1 7 8
c d
Рис. 5.4
Нетрудно видеть, что оба изображения представляют графы с одной и той же структурой. Более того, можно говорить, что с точностью до изображения и именования вершин здесь представлен один и тот же граф.
Графы G1 и G2 называются изоморфными графами. Приведем точное определение понятия изоморфизма.