Реферат: Поиск в ширину на графах
2 1 0 1 0 0 0 0
3 0 1 -1 -1 0 0 0
4 0 0 0 1 1 0 0
5 0 0 0 0 -1 -1 1
6 0 0 0 0 0 1 -1
{1,2} | {1,3} | {1,5} | {2,3} | {2,5} | {3,4} | {4,5} | {4,6} | {5,6} |
( б) 1 1 1 1 0 0 0 0 0 0
2 1 0 0 1 1 0 0 0 0
3 0 1 0 1 0 1 0 0 0
4 0 0 0 0 0 1 1 1 0
5 0 0 1 0 1 0 1 0 1
6 0 0 0 0 0 0 0 1 1
Рис. 1. а) Ориентированный граф и его матрица инциденций;
б) Неориентированный граф и его матрица инциденций.
где bij = 1, если существует ребро, идущее из вершины х в вершину у, и bij = 0 в противном случае. Здесь мы подразумеваем, что ребро {х, у} неориентированного графа идет как от х к у, так и от у к х, так что матрица смежности такого графа всегда является симметричной. Это проиллюстрировано на рис. 2.
Основным преимуществом матрицы смежности является тот факт, что за один шаг можно получить ответ на вопрос «существует ли ребро из х в y?». Недостатком же является тот факт, что независимо от числа ребер объем занятой памяти составляет n2. На практике это неудобство можно иногда уменьшить, храня целую строку (столбец) матрицы в одном машинном слове — это возможно для малых n.
В качестве еще одного аргумента против использования матрицы смежности приведем теорему о числе шагов, которое
должен выполнить алгоритм, проверяющий на основе матрицы смежности некоторое свойство графа.
Пусть Р — некоторое свойство графа P(G) = 0 или P(G)=1 в зависимости от того, обладает или не обладает G нашим свойством. Предположим, что свойство Р удовлетворяет следующим трем условиям:
(а) P(G)=P(G'), если графы G и G' изоморфны;
(б) P(G) = 0 для произвольного пустого графа <V,Æ> и P(G)=1 для произвольного полного графа <V, P2(V)> с достаточно большим числом вершин;
1 2 3 4 5 6 1 2 3 4 5 6
1 0 1 1 0 0 0 1 0 1 1 0 1 0
2 0 0 0 0 0 0 2 1 0 1 0 1 0
3 0 1 0 1 0 0 3 1 1 0 1 0 0
4 0 0 0 0 0 0 4 0 0 1 0 1 1
5 0 0 0 1 0 1 5 1 1 0 1 0 1
6 0 0 0 0 1 0 6 0 0 0 1 1 0