
- •17 Лекция №16. Основные определения и представление графов
- •17.1 Ключевые вопросы
- •17.2.4 Вопросы для контроля к п. 17.2.3 9
- •17.2 Текст лекции
- •17.2.1 Основные определения теории графов
- •1. Вершины, ребра (дуги), графы
- •2. Подграфы и части графа
- •3. Гомоморфизм и изоморфизм графов
- •Б) Матрица инцидентности
- •17.2.3.2 Векторная форма представления графов а) Задание графа массивом преемников вершин
- •Б) Задание графа массивом предшественников вершин
- •17.2.4 Вопросы для контроля к п. 17.2.3
Б) Матрица инцидентности
Матрица
инцидентности S =
,
имеет n строк и m
столбцов, где n – число
вершин в графе, m –
число ребер (дуг) в графе. Элементы этой
матрицы определяются по следующим
правилам.
Для неорграфа
sij
=
Вот пример матрицы инцидентности неорграфа.
S67
=
.
Задание. Нарисуйте граф.
Для орграфа учитывается ориентация:
sij
=
Здесь каждый столбец содержит один элемент, равный +1, и один элемент, равный –1, либо константу.
Два графа эквивалентны, если равны их матрицы инцидентности.
Для псевдографа показанного на рис. 17.12, получим такую матрицу (номера строк и столбцов соответствуют индексам вершин, ребер и дуг):
S69
=
.
Матрица S задает граф с точностью до изоморфизма.
основное преимущество матрицы А перед матрицей S в том, что за один шаг алгоритма можно получить ответ на вопрос: есть ли ребро из вершины хi в хj?
Основной недостаток матрицы А – большой объем памяти независимо от числа ребер: n2.
Если заданы веса, то используются дополнительные векторы весов вершин и ребер (дуг).
Р
исунок
17.12
17.2.3.2 Векторная форма представления графов а) Задание графа массивом преемников вершин
Матрица смежности отображается по строкам одномерным массивом FO, в котором для каждой вершины, начиная с первой, указываются вершины преемники. Списки преемников отдельных вершин разделяются символом Ø
2 |
5 |
Ø |
1 |
3 |
6 |
Ø |
… |
|
Для неорграфа и мультиграфа массив имеет длину 2m+n, для орграфа m+n.
Если на вершинах и/или ребрах (дугах) заданы веса, то используются дополнительные массивы, в которых элементы содержат значения весов для вершин и/или ребер.
Б) Задание графа массивом предшественников вершин
Здесь матрица смежности отображается по столбцам. Форма массива FI такая же, что и у FO.
Для неорграфов и мультиграфов FO и FI совпадают.
17.2.4 Вопросы для контроля к п. 17.2.3
-
Какие формы представления графов вы знаете? Приведите примеры.
-
Какие матричные представления графов вы знаете?
-
Чем отличаются матричные представления неорграфа и орграфа?
-
В чем заключается достоинство и недостаток матрицы смежности?
-
Как задаются веса вершин и ребер (дуг) при матричной форме задания графа?
-
Какие векторные формы представления используются в теории графов? Как при такой форме можно задать веса вершин и ребер (дуг) графа?
-
Опишите алгоритмы перехода от одной формы представления графа к другой (от матрицы смежности к матрице инцидентности и обратно, от матричной формы к векторной форме и обратно).