- •Введение
- •1. Начальные сведения из теории графов
- •Определения графа и ориентированного графа
- •Задание графов с помощью матриц
- •Изоморфизм графов
- •Подграф
- •Маршруты, связность
- •Графы специального вида
- •Деревья
- •2.1. Эквивалентные определения понятия дерева. Остовные деревья
- •Построение остовного дерева
- •Построение кратчайших путей на графе
- •3.1. Алгоритм Дейкстры и алгоритм Форда
- •Алгоритм Флойда
- •4. Эйлеровы графы
- •4.1 Понятие об эйлеровом графе. Критерий наличия в графе эйлерова цикла
- •Алгоритм Флери построения эйлерова цикла
- •Эйлеровы ориентированные графы
Задание графов с помощью матриц
Представление графа с помощью диаграммы является наглядным, но не позволяет автоматизировать решение задачи. Проблема задания графа с помощью некоторого набора чисел решается с использованием понятий смежности вершин и инцидентности вершины и ребра.
Граф можно задать матрицей смежности, которая представляет собой квадратную матрицу порядка m, где m - число вершин графа. Элементы матрицы смежности pij (i,j=1,…m) определяются по следующему правилу:
. (1)
Рассматривая в выражении (1) упорядоченные пары вершин (vi,vj), получим правило для определения элементов матрицы смежности орграфа.
Пример 3. Рассмотрим граф G на рис.1. Следуя правилу (1), составим для G матрицу смежности
|
|
|
0 |
1 |
0 |
1 |
0 |
1 |
|
|
|
|
|
1 |
0 |
1 |
1 |
0 |
1 |
|
|
[pij] |
= |
|
0 |
1 |
0 |
0 |
0 |
0 |
|
|
|
|
|
1 |
1 |
0 |
0 |
0 |
1 |
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
|
|
1 |
1 |
0 |
1 |
1 |
0 |
|
. ■ |
Заметим, что получилась симметричная матрица. Матрица смежности будет симметричной для любого неориентированного графа.
Пример 4. Рассмотрим ориентированный граф G1 на рис.3. Для данного орграфа матрица смежности принимает вид
|
|
|
0 |
1 |
1 |
0 |
|
|
|
|
|
0 |
0 |
0 |
1 |
|
|
[pij] |
= |
|
0 |
0 |
0 |
0 |
|
|
|
|
|
0 |
0 |
0 |
0 |
|
. ■ |
В качестве самостоятельного упражнения предлагается составить матрицу смежности для орграфа G2, изображенного на рис.3.
Любой (m,n)-граф может быть задан матрицей инцидентности с элементами rij (i=1,…,m; j=1,…,n), которые определяются по следующему правилу:
(2)
Для орграфа правило (2) принимает вид
(3)
Пример 5. Рассмотрим граф, заданный диаграммой на рис.6, и составим для него матрицу инцидентности, руководствуясь выбранной нумерацией вершин и ребер. Матрица будет содержать семь строк по числу вершин и восемь столбцов по числу ребер:
e1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
e3 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
|
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
e2
v3 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
v1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
v4 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
|
e6
e4 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
v5
e5
v6
e7
e8
v7
Рис.6
■
П
ример
6.
Для орграфа, изображенного на рис.7,
матрица инцидентности имеет вид:
|
-1 |
0 |
0 |
1 |
|
|
1 |
0 |
1 |
0 |
|
|
0 |
1 |
-1 |
0 |
|
|
0 |
-1 |
0 |
-1 |
|
■
Задав граф с помощью матрицы смежности, мы можем по элементам этой матрицы определить степени вершин графа.
Степенью вершины deg(v) в графе G называется число ребер, инцидентных вершине v. Для вершины орграфа deg(v)=od(v)+id(v), где полустепень исхода od(v) - число дуг, начинающихся (исходящих) из v, и полустепень захода id(v) - число дуг, заканчивающихся (заходящих) в v. Нетрудно убедиться, что имеют место равенства
m
deg(vi)=pij (4)
j=1
и
m m
od(vi)= pij, id(vi) = pki, (5)
j=1 k=1
которые позволяют вычислять степени вершин через элементы матрицы смежности.
Пример 7. Возьмем матрицу смежности графа из примера 3 и вычислим по формуле (4) степени всех вершин. Получим следующие значения:
deg(v1)=3; deg(v2)=4; deg(v3)=1; deg(v4)=3; deg(v5)=1; deg(v6)=4.
Те же значения получаются в результате непосредственного подсчета числа инцидентных ребер для каждой вершины графа на рис.1. ■
Вершины, у которых deg(v)=1, называют висячими (концевыми) вершинами. Ребро, инцидентное концевой вершине, также называется концевым. В предыдущем примере концевыми вершинами оказались v3 и v5, концевыми ребрами - {v2,v3} и {v5,v6}. Если в графе имеется вершина, у которой deg(v)=0, то она называется изолированной.
С понятием степени вершины связан первый результат, полученный Л.Эйлером (L.Euler) в теории графов.
Теорема 1. Сумма степеней всех вершин графа есть четное число, равное удвоенному числу его ребер.
▲ Действительно, каждое ребро инцидентно двум вершинам графа, в сумму степеней вершин оно вносит 2. Значит,
m
deg(vi)=2n,
i=1
где m, n - соответственно число вершин и ребер графа. ▲
В качестве самостоятельного упражнения предлагается доказать следствие из теоремы 1:
В любом графе число вершин нечетной степени четно.
