1.2. Способы задания графов
Графы можно задавать тремя способами: геометрически, аналитически и матрично.
Рис. 1.9
При геометрическом представлении вершины графа изображаются точками или кружочками, а связи между вершинами – линиями. Если задаётся орграф, то связи называются дугами, если неограф – рёбрами (рис. 1.9).
При аналитическом задании граф задаётся совокупностью множеств вершин и рёбер: G=<V, U>, гдеV={v1, …vN},U={u1,…uR} (вершины и рёбра пронумерованы).
При матричном способе представления граф может быть задан матрицей смежности, матрицей инцидентности или матрицей весов.
Матрица инцидентностиI(G)размерностьюNRсостоит из нулей и единиц и определяет инцидентность вершин и рёбер графа. Элементы матрицыI(G)для неографа определяются так:
При этом матрица I(G) обладает следующими свойствами:
Каждый столбец матрицы I(G) содержит только две единицы (граф без петель). Для орграфа в матрице инцидентности I(i, j)= 1 в зависимости от направления дуги: “+1” если вершина vi является началом дуги uj, “-1” если vj – конец uj.
Более компактным способом задания графа по сравнению с матрицей Iявляется список концов рёбер, в котором для каждого ребра задаётся пара инцидентных ему вершин. В случае орграфа в списке первой указывается начальная вершина.
Матрица смежностиS(G)имеет размерностьNNи определяет отношение между вершинами графа. Элементы матрицыSопределяются так:
Рис. 1.10 Рис. 1.11
Для неографа матрица Sявляется симметричной, для ориентированного – нет. В клетке матрицыS(i, j)ставится 1, если дуга имеет направлениеvi vj . В случае графа с кратными рёбрами в соответствующей клетке матрицыSуказывается кратность соответствующего ребра или его вес.
Например, для графа G1(рис. 1.10) матрица инцидентности имеет вид:
I(G1) = |
| u1 | u2 | u3 | u4 | u5 | u6 | u7 |
v1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | |
v2 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | |
v3 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | |
v4 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
Матрица смежности:
S(G1) = |
| v1 | v2 | v3 | v4 |
v1 | 0 | 2 | 1 | 2 | |
v2 | 2 | 0 | 1 | 0 | |
v3 | 1 | 1 | 0 | 1 | |
v4 | 2 | 0 | 1 | 0 |
Список концов ребер:
u1 | u2 | u3 | u4 | u5 | u6 | u7 |
v1 | v1 | v2 | v1 | v1 | v1 | v3 |
v2 | v2 | v3 | v3 | v4 | v4 | v4 |
Для орграфа на рис. 1.11 матрица инцидентности:
I(G2) = |
| u1 | u2 | U3 | u4 | U5 |
v1 | 1 | 0 | -1 | 1 | 0 | |
v2 | -1 | 1 | 0 | 0 | -1 | |
v3 | 0 | -1 | 1 | 0 | 0 | |
v4 | 0 | 0 | 0 | -1 | 1 |
Матрица смежности:
S(G2) = |
| v1 | v2 | V3 | v4 |
v1 | 0 | 1 | 0 | 1 | |
v2 | 0 | 0 | 1 | 0 | |
v3 | 1 | 0 | 0 | 0 | |
v4 | 0 | 1 | 0 | 0 |
Список концов ребер:
-
u1
u2
u3
u4
u5
v1
v2
v3
v1
v4
v2
v3
v1
v1
v2
В прикладных задачах, решаемых с помощью сетевых моделей, ребра графа часто имеют одну или несколько характеристик физического или экономического характера: длина, пропускная способность, стоимость и т. п. В этом случае граф определяется одной или несколькими матрицами размера NN. В общем случае они называются матрицами весов ребер, хотя могут иметь и специальные названия (например, матрица стоимостей).
- Министерство образования Российской Федерации
- 1. Элементы теории графов.
- 1.1. Основные понятия теории графов
- 1.2. Способы задания графов
- 1.3. Связность графов
- 1.4. Изоморфизм графов
- 1.5. Планарные графы
- 1.6. Эйлеровы графы
- 1.7. Гамильтоновы графы
- 1.8. Деревья
- Контрольные вопросы
- 2. Задачи и алгоритмы
- 2.1. Алгоритмы поиска
- 2.2. Раскраска в графах
- 2.3. Алгоритмы построения деревьев
- 2.4. Алгоритмы поиска путей
- 2.4.1. Алгоритм Дийкстры
- 2.4.2. Алгоритм Форда
- 2.4.3. Алгоритм Флойда
- 2.5. Потоковые алгоритмы
- 2.5.1. Определения и постановки задач
- 2.5.2. Алгоритм поиска максимального потока
- 2.5.3. Алгоритм поиска потока минимальной стоимости
- 2.5.4. Динамический поток
- 2.5.5. Алгоритм дефекта
- Контрольные вопросы
- 3. Задачи для самостоятельного решения
- 4. Литература
- Содержание