Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii-DM-Logika-Grafy.pdf
Скачиваний:
93
Добавлен:
30.05.2015
Размер:
1.71 Mб
Скачать

6.4. Другие способы задания графа

211

 

 

 

2.Семантическая сеть : L – имена объектов, C – имена отношений между ними.

3.Потоки в сетях: каждой дуге сети ставится в соответствие ее пропускная способность и величина потока по дуге.

6.4Другие способы задания графа

Представления графов с помощью матриц инциденций и матриц смежности, при всех их достоинствах, не лишены и ряда недостатков. Рассмотрим матрицы инциденций для графа Бержа (1- орграфа) и обыкновенного графа. Для 1-орграфа без петель можно положить

°> = 1, °< = ¡1, °± = 0, °» = 0,

а для обыкновенного графа

°> = 1, °< = 1, °» = 1, °± = 0.

Пример 6.15.

1

G

 

3

1

 

G1

3

r

 

¡

rK

r

 

 

r

 

 

¡µ

 

 

 

 

 

¡

 

 

 

 

 

 

 

¡

 

 

 

 

 

 

?¡

 

?

 

 

 

 

¡¾

 

r4

r

2

 

r4

r

2

 

 

Для графа Бержа G и обыкновенного графа G1 матрицы инциденций имеют следующий вид:

 

 

! ! ! ! !

 

A

12

13

34

41

43

A =

1

1

1

0

-1

0

 

2

-1

0

0

0

0

 

3

0

-1

1

0

-1

 

4

0

0

-1

1

1

 

 

 

 

 

 

 

212

 

 

 

 

 

Глава 6. Определения и примеры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

»

»

»

»

 

 

 

 

A1

12

13

14

12

 

 

A1

=

1

1

1

1

0

 

J

 

 

2

1

0

0

0

 

 

 

 

3

0

1

0

1

 

 

 

 

4

0

0

1

1

 

 

 

 

 

 

 

 

 

 

 

Размерность матрицы инциденций равна n £ m , а число ненулевых элементов составляет всего 2 £m. Таким образом, (n ¡2) £m элементов матрицы – нулевые, и, следовательно, такое представление очень неэкономно. Кроме того, поиск смежных вершин или дуги, соединяющей пару вершин, приводит к перебору в худшем случае m столбцов матрицы.

Представление графа матрицей смежности также неэкономно в том случае, когда число ребер значительно меньше n2 (размерность матрицы смежности). Однако пользоваться матрицей смежности во многих случаях очень удобно, так как за одну проверку можно определить смежность пары вершин.

Более экономным, особенно для неплотных графов, когда m значительно меньше n2 , является способ представления графа с помощью списка или массива пар вершин, соответствующих его ребрам (если граф можно представить в виде бинарного отношения), или с помощью списка или массива троек вида [x u y], где x; y 2 X; u 2 U , для графов общего вида. Размерность такого представления – до 2 £ m (если все ребра – звенья). Неудобством является большое число шагов поиска – до m в худшем случае

– вершин смежных данной вершине. Число шагов поиска смежных вершин или ребер можно значительно уменьшить, упорядочив множество пар или троек в лексикографическом порядке и применяя двоичный поиск.

Пример 6.16.

6.4. Другие способы задания графа

213

 

 

 

2¶³1

3

-

 

1

 

 

3

 

r

 

4

¡ r

b

r

 

 

¡ r

 

la

 

*¡µ

 

 

 

µ¡ K

µ´

 

 

 

 

 

 

¡

6

5

7¡¡

 

 

 

 

 

 

 

 

¡

 

 

¡

8

9

 

 

 

¡

 

 

?

 

 

?

?

 

 

 

 

 

 

 

cr¡9

 

rd

¡¾

r4

 

 

r

2

 

G1

G2

Граф Бержа G2 представлен в виде массива пар, упорядоченного в лексикографическом порядке:

[(1; 2); (2; 3); (3; 4); (4; 2); (4; 3)]:

Граф общего вида G1 представлен в виде массива троек, также упорядоченного в лексикографическом порядке:

[(a; 1; a); (a; 2; a); (a; 3; b); (a; 4; b); (a; 5; c); (a; 6; c);

(b; 4; a); (b; 9; c); (c; 6; a); (c; 7; b); (c; 8; b)]:

Заметим, что звенья (вместе с парой инцидентных им вершин) в массиве представлены дважды.

В некоторых случаях граф удобно представлять в виде списков смежности. Каждый список содержит саму вершину x и подсписок, представляющий ее окружение ¡x. Размерность такого представления равна m + n.

Граф G2, например, можно представить в виде такого списка:

[1; [2]]; [2; [3]]; [3; [4]]; [4; [2; 3]]. J

З а м е ч а н и е. Напомним, что последним элементом списка и, следовательно, любого подсписка является (и подразумевается по умолчанию) пустой список nil или [ ].

Описанные выше способы представления графа аналогичны способам представления множества: представление графа с помощью матриц есть задание характеристических функций (функций принадлежности), а представление в виде массивов и списков – это перечисление элементов графа.

Возможен и дескриптивный (предикатный, высказывательный) способ представления графа.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]