В общем виде задать граф – значит описать множества его вершин и ребер, а также отношения инцидентности. Для описания вершин и ребер, достаточно их занумеровать: u1 … un и ℓ1…ℓ m.
Отношение инцидентности задается:
1. Матрицей инцидентности (εij)mxn
для н-графа:
εij =
1, если ℓi инцидентно uj
0, в противном случае,
а в случае орграфа: -1 – если вершина является началом ребра. 1 – конец, 0 – нет инцидентности; если вершина содержит петлю – то проставляется 2:
-1 - uj начало ℓi,
εij =
1 - uj конец ℓi,
2 - если ℓi – петля,
0 в остальных случаях.
2. Списком ребер графа
ребро
вершины
для н-графа в любом порядке
для орграфа – начало, конец
3. Матрицей смежности (δке).
Перечисляются вершины, на пересечении к и е – число ребер соединяющих элементы, для орграфа – число ребер с началом в к и концом в е.
Если два графа равны, то их матрицы смежности совпадают.
Вид матриц и списка ребер зависит от нумерации. Строго говоря, граф должен считаться полностью заданным, если нумерация вершин и ребер полностью зафиксирована.
Пример 4. Задать графы из примера 3 с помощью перечисленных спообов.
Матрица инцидентности:
G1
a
b
c
d
e
f
g
G2
a
b
c
d
e
f
g
-1
-1
-1
-1
-1
-1
список ребер: матрицы смежности:
ребро
вершины
G1
G2
a
1 2
b
2 1
c
1 3
d
2 3
e
2 4
f
3 4
g
4 4
Пример 5. Рассмотрим примеры задания графов(рисунок 12). На рисунке изображен сетевой граф (модель) выполнения комплекса операций некоторой программы, где → операции, а ○ - события, характеризующие окончание одних работ и начало других
направленность стрелок отражает последовательность наступления этих событий
Рисунок 12.
1) графически
2) с помощью задания двух множеств
V = {1, 2. …, 6} E = {(1, 2), …, (5, 6)}
3) матрица инцидентности матрица смежности
a
b
d
e
c
g
f
-1
-1
-1
-1
-1
-1
-1
Пример 6. Задать различными способами G1 и G2(рисунок 13). Как вычислить число вершин и число ребер по матрицам и списку ребер?