
- •Введение
- •Неориентированные графы
- •Основные определения
- •Маршруты, циклы и связность
- •Ориентированные графы
- •Основные определения
- •Маршруты и связность в ориентированных графах
- •Структуры данных для представления графа
- •Матричное представление графов
- •Матрица инциденций
- •Матрица циклов
- •Матрица разрезов
- •Матрица смежности вершин
- •Матрица путей
- •Представление графов в виде списков
- •Упорядоченные графы
- •Задачи нахождения путей в графах
- •Алгоритм вычисления стоимости прохождения между узлами
- •Алгоритм
- •Алгоритм нахождения кратчайшего пути
- •Задачи с одним источником
- •Алгоритм Дейкстры
- •Метод поиска в глубину
- •Алгоритм поиска в глубину на неориентированном графе
- •Поиск в глубину в ориентированном графе
- •Вычислительная сложность алгоритмов
- •Библиографический список
- •Оглавление
Матрица циклов
Циклы
Ci
графа, изображенного на рис. 8,
(перенумерованные, как показано на рис.
9), можно представить матрицей, каждая
строка которой характеризует один из
циклов:
Рис. 8. Несвязный циклический граф
Рис.
9. Нумерация циклов в графе
Матрица разрезов
Если задан связный граф G = (V, E) и множество его вершин разбито на два непустых подмножества W и W’, то множество ребер, соединяющих W с W’, называется разрезом. То есть, разрез (и в частности, простой разрез) является множеством ребер, соединяющих W и W’ , где {W, W’} является разбиением вершин связного графа на два непересекающихся непустых множества. Удаление разреза приводит к тому, что граф распадается на две или более компоненты. Удаление простого разреза разделяет граф точно на две компоненты.
В ориентированном графе дуги разреза могут быть разделены на два множества: дуги, направленные из W в W’, и дуги, направленные из W’ в W. Удаление первого множества разрывает все пути из W к W’, в то время как удаление последнего разрывает все пути из W’ к W.
Опишем теперь простые разрезы графа, изображенного на рис. 10, с помощью матрицы разрезов, каждая строка которой характеризует один простой разрез. В данном случае мы имеем следующие простые разрезы:
K1 = {e2}, K2 = {e3, e7}, K3 = {e4, e5},
K4 = {e3, e4, e5}, K5 = {e3, e5, e6}, K6 = {e4, e6, e7}, K7 = {e5, e6, e7}.
При этом матрица разрезов будет иметь вид:
e3
e6
e4
e2
e7
e5


Рис. 10. Простые разрезы графа
Матрица смежности вершин
Для ориентированных и неориентированных графов можно определить матрицу смежности вершин (или просто матрицу смежности). Элемент на пересечении i-й строки и j-го столбца этой матрицы равен числу ребер, инцидентных одновременно i-й и j-й вершинам (или направленных от вершины i к вершине j в случае ориентированного графа). Таким образом, для ориентированного графа, изображенного на рис. 8, можно построить матрицу смежности следующего вида:
В общем случае имеет место следующая теорема, касающаяся матрицы смежности V графа.
Теорема. Матрица Vn дает число ориентированных маршрутов длины п между любыми двумя вершинами ориентированного графа.
Доказательство.
Если аik
– число дуг, соединяющих vi
с
vk,
а аkj
– число дуг, соединяющих vk
с
vj,
то аikаkj
есть число различных ориентированных
маршрутов, каждый из которых состоит
из двух дуг, соединяющих vi
с vj,
и проходящих через vk.
Если это произведение просуммировать
по всем k,
т. е. по всем промежуточным вершинам,
то получим число ориентированных
маршрутов длины 2 между вершинами vi
и vj.
Используем
теперь аij
для получения аijаjm.
В результате найдем число различных
ориентированных маршрутов длины 3 между
вершинами vi
и vm
проходящих через vj,
и
так далее. Таким образом, если предположить,
что теорема верна для
,
то элементы матрицы
дадут число ориентированных маршрутов
длинып
между соответствующими вершинами.
Матрица вершин, как в случае ориентированных, так и в случае неориентированных графов имеет неотрицательные элементы. Нулевой элемент означает, что вершина, соответствующая строке рассматриваемого элемента, не связана ребром с вершиной, соответствующей столбцу. Однако эти вершины могут быть связаны путем (или цепью) определенной длины. Может оказаться, что Vm>0 для некоторого целого m 1 , т. е. после возведения V в степень m все ее элементы становятся положительными.
В
этом случае каждая вершина достижима
из любой другой вершины ориентированным
маршрутом, состоящим из т
дуг, и граф, соответствующий Vm,
является полным (действительно, он
имеет дугу, направленную от любой
другой) и имеет петли у каждой вершины.