
Дискретка_Экзамен_Ответы / графы / 4 способы задания графа
.docx
4.2. Матричные способы представления графов
Любой граф может быть представлен в матричной форме.
Матрицей смежности графа G=(V,E) называется матрица A порядка nn, где n=|V|. Элемент матрицы смежности аij=1, если (vi,vj)Е, vi,vjV и aij=0, если (vi,vj)Е. В матрице смежности строки и столбцы соответствуют вершинам графа.
На рис. 4.8 представлены граф в виде диаграммы и его матрица смежности.
а
v1
v2
v3 v4
б
А=
Рис.4.8. Граф в виде диаграммы и матрица смежности:
а – диаграмма графа;
б – матрица смежности
Для неориентированных графов матрица смежности симметрична относительно главной диагонали.
Матрицей инцидентности графа G=(V,E) называется матрица B порядка nm, где n=|V|, m=|E|. Элементы матрицы инцидентности bij определяются следующим образом: bij=1, если i-я вершина является началом j-й дуги, bij=-1, если i-я вершина является концом j-й дуги, bij=0, если i-я вершина и j-я дуга не инцидентны.
Для неориентированных графов в матрице инцидентности элементам достаточно присваивать только два символа (1 и 0).
В матрице инцидентности строки соответствуют вершинам графа, а столбцы – рёбрам (дугам).
Для графа, представленного на рис.4.8, матрица инцидентности имеет вид:
В=
На рис.4.9 приведён пример диаграммы орграфа и его матрицы смежности и инцидентности.
а v1 v2
v3
v5 v4
б
в
А= В=
Рис.4.9. Диаграмма орграфа, матрицы смежности и инцидентности:
а – диаграмма орграфа;
б – матрица смежности;
в – матрица инцидентности
Матрицей дуг (списком дуг) графа G=(V,E) называется матрица С порядка 2m, где m=|E|. Элементы матрицы С определяются следующим образом: с1k= vi и с2k= vj , если ek=(vi,vj), т.е. если i-я вершина является началом k-й дуги, а j-я вершина является концом k-й дуги.
Для графа, представленного на рис.4.9, матрица дуг имеет вид:
C=
Для представления взвешенного графа c взвешенными дугами вместо единичных элементов матрицы смежности удобно записать веса соответствующих дуг, а веса несуществующих дуг полагать равными . Такая матрица называется матрицей весов. Если граф представлен матрицей инцидентности или матрицей дуг, то задать веса дуг можно m-разрядным вектором (m – количество дуг в графе), в котором i-й элемент определяет вес i-й дуги. Если в графе взвешены вершины, то задать веса вершин можно n-разрядным вектором (n – количество вершин в графе), в котором i-й элемент определяет вес i-й вершины.
Для хранения в памяти ЭВМ матриц смежности, инцидентности, матриц дуг и матриц весов удобно использовать двумерные массивы.