Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
151
Добавлен:
16.04.2013
Размер:
717.82 Кб
Скачать

Д Рис. 2.31еревья

Связный граф без циклов называется деревом. Любой граф без циклов называетсяациклическим(илилесом). Таким образом, компонентами связности леса являются деревья. На рис. 2.31 изображен лес, каждая компонента связности его является деревом.

Теорема. Связный граф является деревом тогда и только тогда, когда число его вершин на единицу больше числа его ребер, т.е. .

Доказательство.Необходимость.Заметим, что если графG– дерево, то он имеет хотя бы одну вершину степени 1 (висячую вершину). Действительно, предположим, что все вершины имеют степень, не меньшую 2. Возьмем произвольную вершину, обозначим ее. Из нее выходит по крайней мере два ребра. Найдется вершинатакая, что. Так как степень вершиныне меньше 2, то найдется вершина, отличная от, такая, что, и так далее. Так как число вершин конечно, то в этой последовательности вершин найдутся совпадающие, и мы получим цикл, что противоречит определению дерева. Следовательно, висячая вершина существует.

Далее доказательство проведем индукцией по числу вершин п. Прип = 1 число ребер равно 0 и утверждение верно. Предположим оно верно при любом количестве вершин, меньшемп. Рассмотрим графGспвершинами. Среди них есть висячая. Рассмотрим подграфG', порожденный множеством остальных вершин. Для него по индукционному предположению. Кроме того,. Следовательно,. Необходимость доказана.

Достаточность.Пусть для связного графаGвыполняется условие. Для того, чтобы доказать, чтоGявляется деревом, нужно показать лишь отсутствие циклов. Предположим, что циклы есть, тогда удаление одного ребраеиз цикла не нарушает связности, графтоже связный. Следовательно, для него выполняется неравенство. Но, следовательно,и значит,, что противоречит условию. Следовательно,Gявляется связным графом без циклов, т.е. деревом. Теорема доказана.

Свойства деревьев.

  1. Любые две вершины дерева можно соединить путем. Если это простой путь, то он единственный.

  2. Если для некоторого дерева GV(G)2, то оно имеет не менее двух висячих вершин.

Кодировка дерева

С

Рис. 2.32

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

П

c

C

ервый способ кодирования.
ПустьТ– дерево,. Поставим в соответствие деревуТспребрами слово, состоящее из 0 и 1 длиной 2пследующим образом. Выберем произвольно вершину и начнем обход дерева по произвольному ребру так, чтобы ребра все время оставались справа, поворачивая в висячих вершинах. Если ребро встретилось в первый раз, записываем 0, во второй – 1. Код дерева, представленного на рис.2.32 – (010010101101) (обход начат с вершины 1).

З

а) б) в)

Рис. 2.33

аметим, что дереву с одним ребром сопоставляется код (01). Если деревьямТ1иТ2 (рис.2.33, а) сопоставлены кодыисоответственно, то деревуС(рис. 2.33, б) сопоставляется код (01), а деревьямDиE (рис. 2.33, в) – кодыи.

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

Соседние файлы в папке Прокофьевская книга по дискретке