Смекни!
smekni.com

Деревья и их свойства (частный вид графов) (стр. 1 из 2)

Министерство образования Республики Беларусь

Учреждение образования

«Белорусский государственный университет

информатики и радиоэлектроники»

РЕФЕРАТ

на тему:

«ДЕРЕВЬЯ И ИХ СВОЙСТВА (ЧАСТНЫЙ ВИД ГРАФОВ)»

Минск, 2008


Рассмотрим частный вид графов, широко используемых, например, в теории электрических цепей, химии, вычислительной технике и в информатике.

Определение 1. Деревом называется связный граф, не содержащий циклов. Любой (в том числе несвязный) граф без циклов называется ациклическим. Несвязный граф, каждая компонента связности которого является деревом, называется лесом. Можно сказать, что деревья являются компонентами леса. На рис.1 изображены два дерева G1, G2 и лес G3.

Рис.1

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

Теорема 1. Пусть G(X, E) – неориентированный граф с p вершинами и q ребрами. Тогда следующие утверждения эквивалентны.

1 . G есть дерево.

2 . Любые две различные вершины x и y графа G соединены единственной простой цепью.

3 . G – связный граф, утрачивающий это свойство при удалении любого из его ребер.

4 . G – связный граф и p = q + 1.

5 . G – ациклический граф и p = q + 1.

6 . G – ациклический граф, причем если любые две его вершины x и y соединить ребром e, то в полученном графе будет ровно один простой цикл.

Для доказательства теоремы достаточно доказать следующую цепочку следствий: 1 Þ 2 Þ 3 Þ 4 Þ 5 Þ 6 Þ 1 , так как это означает, что из любого утверждения 1 – 6 выводится любое другое.

1 Þ2 . Так как граф связен, то любые две его вершины можно соединить простой цепью. Пусть m1 и m2 - две различные простые цепи, соединяющие вершины x и y. Если цепи m1 и m2 не имеют общих вершин, за исключением вершин x и y, то

есть простой цикл. Предположим, что цепи m1 и m2 имеют общие вершины, отличные от x и y. Пусть z – первая из таких вершин при движении от вершины x к вершине y и пусть m1(x, z) и m2(x, z) – части цепей m1 и m2, взятые от вершины x до вершины z. Тогда
- простой цикл. Это противоречит тому, что граф ацикличен, и поэтому m1=m2, т.е. утверждение 2 доказано.

2 Þ3 . Граф G – связен, поскольку любые две его различные вершины x и y соединены простой цепью. Возьмем некоторое ребро графа e = (x, y). Согласно 2 простая цепь m={e} между вершинами x и y единственна. Если ребро e удалить, то вершины x и y будет невозможно соединить простой цепью, и полученный граф будет несвязным. Утверждение 3 доказано.

3 Þ4 . По условию 3 граф связен. Соотношение p = q + 1 докажем по индукции. Если граф имеет две вершины и удовлетворяет 3 , то он выглядит так:

В этом случае p = 2, q = 1 и соотношение p = q + 1 выполняется. Предположим теперь, что соотношение верно для всех графов, удовлетворяющих 3 и имеющих меньше, чем p вершин, и докажем его для графа G с p вершинами. Удалим из графа G произвольное ребро e. Тогда новый граф G´ будет несвязным и будет состоять из двух связных компонент G1 и G2. По предположению индукции имеем

p1 = q1 + 1, p2 = q2 + 1,

где pi – число вершин компоненты Gi, qi – число ее ребер. Следовательно,

p = p1 + p2, q = q1 + q2 + 1,

поэтому p = q1 + q2 + 2 = q + 1, и свойство 4 доказано.

4 Þ5 . Предположим, что граф G, удовлетворяющий 4 , имеет простой цикл m длиной l ³ 1. Этот цикл содержит l вершин и l ребер. Для любой из p - l вершин, не принадлежащих циклу m, существует инцидентное ей ребро, ле­жащее на кратчайшей цепи ( т.е. цепи минимальной длины), идущей от данной вершины к некоторой вершине цикла m. Все такие ребра попарно различны. Если вершины x1 и x2 инцидентны одному такому ребру e, то e = (x1, x2), и кратчайшая цепь m1 для вершины x1 проходит через вершину x2, а кратчайшая цепь m2 для вершины x2 проходит через вершину x1 (рис. 2). Это противоречит тому, что цепи m1 и m2 – кратчайшие. Общее число ребер q в графе G в этом случае не меньше, чем l + p – l = p, т.е. q ³ p, что противоречит соотношению p = q + 1. Отсюда следует, что G – ациклический граф, и утверждение 5 доказано.

Рис. 2

5 Þ6 . Так как G – ациклический граф, то каждая его компонента связности Gi (i = 1, 2, …, k) является деревом. Для каждой компоненты Gi имеем в соответствии с 5 pi = qi + 1, откуда

, т.е. p = q + k. С другой стороны, p = q + 1, поэтому k = 1, т.е. граф G связен. Таким образом, G – дерево. Тогда (см. 2 ) любые две различные вершины x и y графа G соединены единственной простой цепью. Если добавить ребро между несмежными вершинами x и y, то оно образует с указанной цепью единственный простой цикл. Утверждение 6 доказано.

6 Þ1 . По условию 6 G – ациклический граф. Если граф G не является связным, то возьмем вершины x и y из различных компонент связности графа G и соединим их ребром e. Построенный граф

является, как и граф G, ациклическим. Это противоречит свойству G, поэтому G – связный граф, и свойство 1 доказано. Таким образом, доказана и теорема 1.

Определение, аналогичное дереву, можно ввести и для орграфа.

Определение 2. Орграф G(X, E) называется прадеревом или ориентированным деревом, растущим из корня x0, при следующих условиях:

1 . Неориентированный граф G', соответствующий графу G, является деревом.

2 . Единственная простая цепь между x0 и любой другой вершиной x графа G' является путем в орграфе G, идущим из вершины x0 в вершину x.

На рис. 3 изображено ориентированное дерево.

Рис. 3

В неориентированном графе G(X, E) вершина x называется концевой или висячей, если d(x) = 1, т.е. если этой вершине инцидентно единственное ребро e. Это ребро также называется концевым или висячим. С висячими вершинами связана следующая теорема.

Теорема 2. В любом дереве G(X, E) с p ³ 2 вершинами имеется не менее двух концевых вершин.

Доказательство. Пусть q – число ребер дерева G. В силу теоремы 1 p = q + 1. Кроме того, из теоремы 1.1 имеем

.

Таким образом, получаем

. (1)

Предположим, что x0 – единственная концевая вершина в дереве G. Тогда d(x0) = 1, d(x) ³ 2, если x¹x0. Отсюда

. (2)

Неравенство (2) противоречит (1), поэтому либо концевых вершин нет, либо их по крайней мере две. Если концевых вершин в G нет, то d(x) ³ 2 для всех xÎX. Тогда

. (3)

Неравенство (3) тоже противоречит (1). Отсюда следует, что концевых вершин в G две или больше. Теорема доказана.

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

Теорема 3. (А. Кэли, 1897 г.). Число помеченных деревьев с p вершинами равно pp-2.

Доказательство. Пусть G(X, E) – дерево с p помеченными вершинами. Для простоты предположим, что вершины пронумерованы в произвольном порядке числами 1, 2, …, p. Рассмотрим способ, позволяющий однозначно закодировать дерево G.

В соответствии с теоремой 2 дерево G имеет концевые вершины. Пусть x1 – первая концевая вершина в последовательности 1, 2, …, p и пусть e1 = (x1, y1) – соответствующее концевое ребро. Удалим из дерева вершину x1 и ребро e1. Получим новое дерево G1 с числом вершин p - 1. Найдем теперь пер­­вую концевую вершину x2 дерева G1 в последовательности вершин 1, 2, … …, p из множества {1, 2, …, p }\{x1}, далее возьмем концевое ребро e2 = (x2, y2) и удалим из G1 x2 и e2. Эту процедуру последовательно повторяем. Через (p - 2) шага остается дерево из двух вершин xp-1, yp-1 и одного ребра ep-1 = (xp-1, yp-1). Рассмотрим последовательность вершин

s(G) = {y1, y2, …, yp-2}.

Очевидно, что по данному дереву последовательность строится однозначно. Покажем теперь, что по данной последовательности вершин s (G) дерево G можно восстановить однозначно. В последовательности 1, 2, …, p существуют вершины, не принадлежащие s (G). Выберем первую из них x1 и построим ребро e1 = (x1, y1). Затем удалим x1 из последовательности 1, 2, …, n и y1 удалим из s(G). Аналогичным образом построим ребро e2 = (x2, y2). Продолжая этот процесс, мы однозначно восстановим дерево G. Рассмотрим пример.

Построение кода Восстановление
s(G) s(G) и список вершин

Рассмотренный пример позволяет отметить следующие две особенности: