
Алгоритмы на графах
.pdf
Представление графа в ЭВМ
Список смежности
Предположим, что задан граф G = (V; E) íà n вершинах. Вершины графа занумерованы числами от 1 äî n Поставим в соответствие каждой вершине i графа связный список L[i],
который содержит все вершины, смежные с вершиной i.
|
2 |
1 |
4 |
|
|
|
3 |
|
i |
L[i] |
|
5 |
1 |
3 |
4 |
2 |
4 |
|
|
|
|
||
|
3 |
1 |
4 |
|
6 |
|
|
|
7 |
|
|
Алгоритмы на графах

Представление графа в ЭВМ
Список смежности
Предположим, что задан граф G = (V; E) íà n вершинах. Вершины графа занумерованы числами от 1 äî n Поставим в соответствие каждой вершине i графа связный список L[i],
который содержит все вершины, смежные с вершиной i.
2 |
|
5 |
1 |
|
4 |
|
|
|
|
|
6 |
|
3 |
7 |
|
|
iL[i]
1 3 4
2 4
3 1 4
4 1 2 3 5 7
Алгоритмы на графах

Представление графа в ЭВМ
Список смежности
Предположим, что задан граф G = (V; E) íà n вершинах. Вершины графа занумерованы числами от 1 äî n Поставим в соответствие каждой вершине i графа связный список L[i],
который содержит все вершины, смежные с вершиной i.
2 |
|
5 |
1 |
|
4 |
|
|
|
|
|
6 |
|
3 |
7 |
|
|
iL[i]
1 |
3 |
4 |
|
|
|
2 |
4 |
|
|
|
|
3 |
1 |
4 |
|
|
|
4 |
1 |
2 |
3 |
5 |
7 |
5 |
4 |
6 |
7 |
|
|
Алгоритмы на графах

Представление графа в ЭВМ
Список смежности
Предположим, что задан граф G = (V; E) íà n вершинах. Вершины графа занумерованы числами от 1 äî n Поставим в соответствие каждой вершине i графа связный список L[i],
который содержит все вершины, смежные с вершиной i.
2 |
|
5 |
1 |
|
4 |
|
|
|
|
|
6 |
|
3 |
7 |
|
|
iL[i]
1 |
3 |
4 |
|
|
|
2 |
4 |
|
|
|
|
3 |
1 |
4 |
|
|
|
4 |
1 |
2 |
3 |
5 |
7 |
5 |
4 |
6 |
7 |
|
|
6 |
5 |
7 |
|
|
|
Алгоритмы на графах

Представление графа в ЭВМ
Список смежности
Предположим, что задан граф G = (V; E) íà n вершинах. Вершины графа занумерованы числами от 1 äî n Поставим в соответствие каждой вершине i графа связный список L[i],
который содержит все вершины, смежные с вершиной i.
2 |
|
5 |
1 |
|
4 |
|
|
|
|
|
6 |
|
3 |
7 |
|
|
iL[i]
1 |
3 |
4 |
|
|
|
2 |
4 |
|
|
|
|
3 |
1 |
4 |
|
|
|
4 |
1 |
2 |
3 |
5 |
7 |
5 |
4 |
6 |
7 |
|
|
6 |
5 |
7 |
|
|
|
7 |
4 |
5 |
6 |
|
|
Алгоритмы на графах

Представление графа в ЭВМ
Достоинства и недостатки указанных способов хранения
1. Достоинством матрицы смежности является, то, что за O(1) мы можем узнать для каждой пары вершин i è j смежны они или нет
Алгоритмы на графах

Представление графа в ЭВМ
Достоинства и недостатки указанных способов хранения
1. Достоинством матрицы смежности является, то, что за O(1) мы можем узнать для каждой пары вершин i è j смежны они или нет (достаточно проверить значение A[i][ j])
Алгоритмы на графах

Представление графа в ЭВМ
Достоинства и недостатки указанных способов хранения
1. Достоинством матрицы смежности является, то, что за O(1) мы можем узнать для каждой пары вершин i è j смежны они или нет (достаточно проверить значение A[i][ j])
Недостатком матрицы смежности является то, что если в графе n вершин требуется n2 ячеек памяти для его хранения
(даже если в графе нет ребер),
Алгоритмы на графах

Представление графа в ЭВМ
Достоинства и недостатки указанных способов хранения
1. Достоинством матрицы смежности является, то, что за O(1) мы можем узнать для каждой пары вершин i è j смежны они или нет (достаточно проверить значение A[i][ j])
Недостатком матрицы смежности является то, что если в графе n вершин требуется n2 ячеек памяти для его хранения
(даже если в графе нет ребер), что при большом числе вершин и малом количестве ребер крайне расточительно
Алгоритмы на графах

Представление графа в ЭВМ
Достоинства и недостатки указанных способов хранения
2. Достоинством списка смежности является, то, что для хранения всего списка смежности требуется порядка 2jE(G)j
ячеек памяти
Алгоритмы на графах