Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 3(мат.Методы).doc
Скачиваний:
6
Добавлен:
14.08.2019
Размер:
714.24 Кб
Скачать

4.7 Математическое представление графов. (Методы хранения графов в памяти пк)

Очевидно, что наиболее понятные, полезные для человека способы представления графов – изображение на плоскости в виде точек и соединяющих их линий, - не пригодны для решения задач, связанных с графами, на ЭВМ.

Выбор соответствующей структуры данных для представления графов имеет принципиальное влияние на эффективность алгоритма.

Рассмотрим G=(V,E), где V – множество вершин, E – множество ребер, также зафиксируем количество вершин n и ребер m. В теории графов классическим способом представления графов является матрица инциденций. Это матрица А с n строками (вершинами) и m столбцами (ребрами).

Для орграфа столбец, соответствующий ребру (x,y), содержит «-1» в строке, соответствующей вершине x, «1» в строке, соответствующей y, и «0» во всех остальных строках. Петлю вида (x,x) можно представить со значением «2».

В случае неорграфа столбец, соответствующий ребру (x,y), содержит «1» в строке x и «-1» в строке y.

Рассмотрим Ex1:

Введем ее математическое представление:

(1,2) (1,3) (3,2) (3,4) (5,4) (5,6) (6,5)

1

2

А= 3

4

5

6

Такая форма представления не эффективна как с точки зрения экономии памяти (требуется (m*n) ячеек, причем большинство из них заняты нулями), так и с точки зрения удобства и скорости доступа (вопрос типа : «Существует ли дуга (x,y)?» требует перебор всех ячеек).

Более удачным представлением графа является матрица смежности, определяемая как матрица В размерностью (n*n), bij=1, если существует ребро, идущее из вершины x в вершину y, и bij=0, в противном случае. Здесь подразумевается, что для орграфа существует направление из x в y, а для неорграфа ребро (x,y) идет как из x в y, так и из y в x. Так что матрица будет выглядеть симметричной.

Недостатком матрицы смежности является тот факт, что независимо от числа ребер объем занятой памяти равен n2 ячеек

Рассмотрим Ex2:

Составим матрицу смежности для орграфа из Ex1.

1 2 3 4 5 6

1

2

В= 3

4

5

6

4.8 Нахождение кратчайших путей в графе

Рассмотрим орграф G=(V,E), дугам которого предписаны веса. Это означает, что каждой дуге (u,v), принадлежащей множеству ребер Е поставлено в соответствие некоторое вещественное число a(u,v), называемое весом данной дуги.

Если дуга (u,v) не существует, то d(u,v)=∞

Если последовательность вершин V0, V1, V2, …, Vi определяет маршрут в графе G, то его длина определяется по формуле

d= a(Vi-1,Vi)

Нас будет интересовать нахождение кратчайшего пути между фиксированными вершинами S и T, принадлежащих множеству V.

Длину такого пути будем обозначать d(S,T) и называть расстоянием от S до T.

Если не существует исходного пути из S в T, то d(S,T)= ∞

Контур – нетривиальный замкнутый маршрут, у которого все вершины различны (за исключением первой и последней).

(3)

Ex:

(1)

(3)

(1)

(2)

(8)

(-5)

Граф А

(3)

(4)

Матрица весов дуг графа А:

1 2 3 4 5

1

2

3

4

5