Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lekcii_dm

.pdf
Скачиваний:
44
Добавлен:
09.04.2015
Размер:
2.19 Mб
Скачать

nn 2

Определение.

Дерево с одной выделенной вершиной называется корневым деревом.

Определение

Ориентированный граф, состоящий из нескольких деревьев, называется

лесом.

Определение.

Пусть G=(Х, Г) – граф, являющийся лесом. Если дуга (v,w) принадлежит Г, то v называется отцом узла w, а w – сыном узла v.

Определение.

Если есть путь из v в w, то v называется предком узла w, а w –

потомком узла v.

Определение.

Узел без потомков называется листом.

Определение.

Узел v и его потомки вместе образуют поддерево леса G, и узел v называется корнем этого поддерева.

Определение.

Глубина узла v в дереве – это длина пути из корня в v.

Определение.

71

Высота узла в дереве – это длина самого длинного пути из этого узла в какой-нибудь лист.

Определение.

Высотой дерева называется высота его корня.

Пример

 

 

a

 

 

b

c

d

e

f

 

j

 

g

h

i

kl

Глубина узла b, в данном примере, = 1, а его высота = 2. Высота дерева

= 3.

Определение.

Упорядоченным деревом называется дерево, в котором множество сыновей каждого узла упорядоченно. При изображении упорядоченного дерева, как правило, считается, что множество сыновей каждого узла упорядоченно слева направо.

Определение.

Бинарным деревом называется такое упорядоченное дерево, что

1.Каждый сын произвольного узла идентифицируется либо как левый сын,

либо как правый сын.

2.Каждый узел имеет не более одного левого и не более одного правого сына.

72

Обратите внимание, что бинарное дерево не является частным случаем дерева, это совершенно иное, хотя и тесно связанное понятие.

Например:

AA

B B

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

Определение. Бинарное дерево называется полным, если для некоторого целого числа K каждый узел, глубины меньшей k имеет как левого, так и правого сына, и каждый узел глубины k является листом.

Полное дерево глубины k имеет 2k 1 1 узлов.

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

2.12. Помеченные графы. Перечисление помеченных деревьев.

Определение.

73

Граф с n вершинами называется помеченным, если его множество вершин X 1,n N .

Определение.

Помеченные графы G1 и G2 с n вершинами называются изоморфными, если существует биективное отображение :U1 U2 такое, что (композиция) f2 u f1 u u U1,i 1,2.

Замечание.

Это определение похоже на определение изоморфизмов теории графов, отличие состоит в том, что изоморфизм графов реализуется парой биективных отображений : X1 X 2 , :U1 U2 , а — тождественное отображение.

Пример:

3

4

4

 

 

2

3

4

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

3

 

 

 

1

 

 

G

G2

 

 

G3

 

1

 

 

 

 

 

 

 

 

 

 

G1

изоморфен как помеченный граф, графу G2

 

и не изоморфен как

помеченный графу G3 .

 

 

 

 

 

 

 

 

Ясно, что в обычном смысле G1,G2,G3

изоморфны.

Задача.

Сколько существует не изоморфных между собой неориентированных помеченных деревьев с n вершинами.

74

Обозначим число неизоморфных помеченных деревьев через T n . Ясно, что

T 1 1;T 2 1;T 3 3;T 4 16

 

1

1

2

1

2

3

 

2

3

1

3

 

1

2

 

 

 

 

 

 

1

2

3

 

4

1

3

2

4

1

2

4

3

1

4

2

3

1

 

3

4

2

1

4

3

2

2

1

3

4

2

3

1

4

2

 

1

4

3

2

4

1

3

3

1

2

4

3

2

1

4

 

3

 

4

4

1

2

1

 

2

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

2

 

3

 

 

4

 

 

 

 

 

 

 

 

2

 

 

3

 

4

 

 

1

 

 

Теорема Келли.

T n nn 2

Свои результат по перечислению деревьев А. Келли успешно применил для определения количества химических изомеров углеродов CnH2n+2.

Структурные формулы таких молекул таких соединений (вершины — атомы, дуги — валентные связи) представляют собой деревья.

 

 

 

 

H

 

 

H

 

H

 

H

H

c

H

c

c

c

 

 

 

 

H

c

H

 

 

H

H

 

 

 

c

 

 

 

H

H

 

 

H

 

H

 

 

 

 

 

 

H

 

H

 

c

 

 

 

 

 

 

 

c

 

H

 

H

 

H

 

 

 

 

 

 

 

Бутан

H

Изобутон

75

Важным для приложений классом ориентированных деревьев являются корневые, или растущие деревья, то есть такие, у которых существует вершина называемая корнем, из которой существуют простые пути во все остальные вершины (в силу общих свойств деревьев путь из корня в каждую вершину — единственный).

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

2.13. Задача поиска маршрутов в графе.

Алгоритм Тэрри поиска маршрута в связном графе, соединяющего вершины и .

Правила.

1)Идя по произвольному ребру всегда отмечать направление его прохождения.

2)Исходя из некоторой вершины всегда следовать по тому ребру,

которое не было пройдено или было пройдено в противоположном направлении.

3) Для всякой вершины отмечать ребро по которому в вершинупопали в первый раз

4) Исходя из некоторой вершины идти по первому заходящему вребру лишь тогда, когда нет других возможностей.

76

Пример.

 

 

 

 

 

 

 

3

4

Найти маршрут

 

+

соед. 1 и

5

 

 

+

 

 

 

 

+, значит

 

2

 

 

 

прошли

 

+

 

 

 

 

 

 

1

 

5

 

 

Замечание: из полученного пути можно выделить простую цепь.

2.14. Поиск оптимального пути (маршрута)

Утверждение 1

Каждый минимальный путь (маршрут) является простой цепью

Доказательство.

 

Пусть П 1 2... k

1 k минимальный путь в орграфе D, не

являющийся простой цепью. Тогда i и j такие, что 1 i j k и vi=vj.

Рассмотрим путь 1... i j 1... k. Его длина меньше, чем , что противоречит предположению.

Утверждение 2

Минимальный подпуть из минимального пути минимален.

Пусть П 1 2... k 1 k - минимальный путь (маршрут) в орграфе

D (в графе G). Тогда для i и j таких, что 1 i j k путь (маршрут) П0 i i 1... j тоже является минимальным.

Доказательство.

Предположим, что П0 не является оптимальным, тогда П1 i... j

т.ч. он короче чем 0. Тогда заменив 0 на 1 в можно найти более

77

короткий, чем путь не является минимальным. Пришли к противоречию.

Пусть D (V,X) орграф V— некоторая вершина V, V1 V.

Обозначим D( ) { V|( , ) X} — образ вершины ; D 1( ) { V|( , ) X} — прообраз вершины ;

D(V1) D( ) — образ множества вершин V1 ;

V1

D 1(V1) D 1( ) прообраз множества вершин V1.

V1

Для неориентированного графа образ и прообраз совпадают. Пусть G (V,X) граф V, V1 V.

Обозначим G( ) { V| , X} — образ вершины ;

G(V1) G( ) — образ множества вершин V1.

V1

Пусть D (V,X) орграф с n 2 вершинами и v,w (v w) – заданные вершины из V

Алгоритм поиска минимального пути из в в орграфе D

(алгоритм фронта волны).

1) Помечаем вершину индексом 0, затем помечаем вершины образу вершины индексом 1. Обозначаем их FW1 (v). Полагаем k=1.

78

2)

Если

FWk( )

или k=n-1, и одновременно FWk ( ) то

вершина не достижима из

. Работа алгоритма заканчивается.

 

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

 

3) Если FWk( ), то переходим к шагу 4.

 

В противном случае мы нашли минимальный путь из в

и его

длина =k. Последовательность вершин

 

1 2 3... k 1

 

 

 

k 1

FW

( ) D 1( )

 

 

 

k 1

 

 

 

k 2 FWk 2( ) D 1( k 1)

........................................

1 FW1( ) D 1( 2)

есть этот минимальный путь. Работа завершается.

4) Помечаем индексом k+1 все непомеченные вершины, которые принадлежат образу множества вершин c индексом k. Множество вершин с индексом k+1 обозначаем FWk 1( ). Присваиваем k:=k+1 и переходим к 2).

Замечание 1

Множество FWk( ) называется фронтом волны kго уровня.

Замечание 2

Вершины 1 2 3... k 1 могут быть выделены неоднозначно, что соответствует случаю, если существует несколько минимальных путей из в .

79

2.15. Минимальные пути, маршруты в нагруженных графах.

Определение

Назовем орграф D=(V,X) нагруженным, если на множестве дуг X определена некоторая функция l:X R , которую называют весовой функцией

2

4

6 7 8

Числа – вес дуги, (цена дуги).

Для любого пути П нагруженного орграфа D обозначим через l(П) сумму длин дуг, входящих в путь П. (Каждая дуга считается столько раз, сколько она входит в путь П).

Величина l называется длиной пути. Если выбрать веса равными 1, то придем к ненагруженному графу.

Определение

Путь в нагруженном орграфе из вершины v в верш. w, где v w, называется минимальным, если он имеет наименьшую длину.

80

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