Читайте также: |
|
Графом называют графическое изображение, состоящее из вершин (узлов) и соединяющих некоторые пары вершин ребер (рис. 11а).
Более строго: граф – совокупность множества вершин и множества ребер. Множество ребер – подмножество евклидова квадрата множества вершин (то есть ребро соединяет ровно две вершины).
Ребрам можно также присвоить направление. Граф в этом случае называется ориетированным (рис. 11б).
Рис. 11. (а) Граф. (б) Ориентированный граф.
Теория графов находит применения в самых разных областях. Несколько примеров:
1. Логистика и транспортные системы. Вершинами будут склады с товарами или пункты назначения, а ребра – дороги, их соединяющие.
2. Маршрутизация сетей. Вершины – компьютеры, соединенные в сеть, ребра – связи между ними. Решается задача о путях передачи данных с одного компьютера на другой.
3. Компьютерная химия. Модели в виде графов используются для описания путей протекания сложных реакций. Вершины – участвующие в реакциях вещества, ребра – пути превращений веществ. Также графом является изображение структур молекул: вершины – атомы, ребра – химические связи.
4. Электрические сети.
5. Сайты в Интернете можно считать узлами ориентированного графа, ребрами которого будут гиперссылки.
6. И т. д.
Современная теория графов представляет собой мощную формальную систему, имеющую необозримое множество применений.
Путем или цепью в графе называется последовательность вершин, в которой каждая вершина соединена ребром со следующей. Пути, в которых начальная и конечная вершина совпадают, называют циклами. Если для каждой пары вершин существует путь их соединяющих, то такой граф называют связным.
В программировании используются три способа хранения в памяти информации о стуктуре графов.
1) Матрицы смежности
Квадратная матрица M, где как строки, так и столбцы соответствуют вершинам графа. Если вершины с номерами i и j соединены ребром, то M ij = 1, иначе M ij = 0. Для неориентированного графа матрица, очевидно, симметрична. Ориентированный граф задается антисимметричной матрицей. Если ребро выходит из узла i и приходит в узел j, то M ij = 1, а симметричный элемент M ji = -1.
2) Матрица инцидентности
Столбцы матрицы соответствуют вершинам, а строки ребрам. Если ребро с номером i соединяет вершины с номерами j и k, то элементы матрицы I ij = I ik = 1. Остальные элементы i -й строки равны 0.
3) Список ребер
Просто набор пар номеров вершин, соединенных ребрами.
Рассмотренные выше деревья являются частным случаем графов. Деревом будет любой связный граф, не содержащий циклов.[20]
Дата добавления: 2015-08-09; просмотров: 69 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Быстрые сортировки | | | Явное использование стека |