Тверской государственный университет
Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 3180 / 269 | Оценка: 4.08 / 3.92 | Длительность: 15:40:00
ISBN: 978-5-9556-0110-6
Специальности: Программист, Математик
Лекция 10:

Деревья

< Лекция 9 || Лекция 10: 123 || Лекция 11 >
Аннотация: Неориентированные и ориентированные деревья. Эквивалентность разных определений деревьев. Деревья и формулы (выражения). Обходы деревьев

Неориентированные и ориентированные деревья

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

Определение 10.1. Неориентированный граф называется деревом, если он связный и в нем нет циклов.

Определение 10.2. Ориентированный граф G=(V,E) называется (ориентированным) деревом, если

  1. в нем есть одна вершина r \in  E, в которую не входят ребра; она называется корнем дерева;
  2. в каждую из остальных вершин входит ровно по одному ребру;
  3. все вершины достижимы из корня.

На рис. 10.1 показаны примеры неориентированного дерева G1 и ориентированного дерева G2. Обратите внимание на то, что дерево G2 получено из G1 с помощью выбора вершины c в качестве корня и ориентации всех ребер в направлении "от корня ".

Неориентированное и ориентированное деревья

Рис. 10.1. Неориентированное и ориентированное деревья

Это не случайно. Докажите самостоятельно следующее утверждение о связи между неориентированными и ориентированными деревьями.

Лемма 10.1. Если в любом неориентированном дереве G=(V,E) выбрать произвольную вершину v \in  V в качестве корня и сориентировать все ребра в направлении "от корня ", т.е. сделать v началом всех инцидентных ей ребер, вершины, смежные с v - началами всех инцидентных им еще не сориентированных ребер и т.д., то полученый в результате ориентированный граф G' будет ориентированным деревом.

Неориентированные и ориентированные деревья имеют много эквивалентных характеристик.

Теорема 10.1.Пусть G=(V,E) - неориентированный граф. Тогда следующие условия эквивалентны.

  1. G является деревом.
  2. Для любых двух вершин в G имеется единственный соединяющий их путь.
  3. G связен, но при удалении из E любого ребра перестает быть связным.
  4. G связен и |E| = |V| -1.
  5. G ациклический и |E| = |V| -1.
  6. G ациклический, но добавление любого ребра к E порождает цикл.

Доказательство (1) => (2): Если бы в G некоторые две вершины соединялись двумя путями, то, очевидно, в G имеелся бы цикл. Но это противоречит определению дерева в (1).

(2) => (3): Если G связен, но при удалении некоторого ребра (u,v) \in  E не теряет связности, то между u и v имеется путь, не содержащий это ребро. Но тогда в G имеется не менее двух путей, соединяющих u и v, что противоречит условию (2).

(3) => (4): Предоставляется читателю (см. задачу 9.4).

(4) => (5): Если G содержит цикл и является связным, то при удалении любого ребра из цикла связность не должна нарушиться, но ребер останется |E|= V -2, а по задаче 9.4(а) в связном графе должно быть не менее V -1 ребер. Полученное противоречие показывает, что циклов в G нет и выполнено условие (5).

(5) => (6): Предположим, что добавление ребра (u,v) к E не привело к появлению цикла. Тогда в G вершины u и v находятся в разных компонентах связности. Так как |E|= V -1, то в одной из этих компонент, пусть это (V1,E1), число ребер и число вершин совпадают: |E1|=|V1|. Но тогда в ней имеется цикл (см. задачу 9.4 (б) ), что противоречит ацикличности G.

(6) => (1): Если бы G не был связным, то нашлись бы две вершины u и v из разных компонент связности. Тогда добавление ребра (u,v) к E не привелобы к появлению цикла, что противоречит (6). Следовательно, G связен и является деревом.

Для ориентированных деревьев часто удобно использовать следующее индуктивное определение.

Определение 10.3. Определим по индукции класс ориентированных графов \mathcal{D}, называемых деревьями. Одновременно для каждого из них определим выделенную вершину - корень.

  1. Граф T0=(V,E), с единственной вершиной V={ v} и пустым множеством ребер E=\varnothing является деревом (входит в \mathcal{D} ). Вершина v называется корнем этого дерева.
  2. Пусть графы T1=(V1,E1), ... , Tk= (Vk, Ek) с корнями r_{1} \in  V_{1}, \dots , r_{k} \in  V_{k} принадлежат \mathcal{D}, а r0 - новая вершина, т.е. r_0 \notin \bigcup_{i=1}^k V_i. Тогда классу \mathcal{D} принадлежит также следующий граф T = (V, E), где V= \{ r_0\} \cup \bigcup_{i=1}^k V_i, E = \{ (r_0, r_i)\ |\ i=1, \ldots , k\} \cup \bigcup_{i=1}^k E_i. Корнем этого дерева является вершина r_0.\\
  3. Других графов в классе \mathcal{D} нет.

Рис. 10.2 иллюстрирует это определение.

Индуктивное определение ориентированных деревьев

Рис. 10.2. Индуктивное определение ориентированных деревьев

Теорема 10.2. Определения ориентированных деревьев 10.2 и 10.3 эквивалентны.

Доказательство \Rightarrow Пусть граф G=(V,E) удовлетворяет условиям определения 10.2. Покажем индукцией по числу вершин |V|, что G \in \mathcal{D}.

Если |V|=1, то единственная вершина v \in  V является по свойству (1) корнем дерева, т.е. в этом графе ребер нет: E = \varnothing. Тогда G = T_0 \in \mathcal{D}.

Предположим, что всякий граф с <= n вершинами, удовлетворяющий определению 10.2 входит в \mathcal{D}. Пусть граф G=(V,E) с (n+1) -й вершиной удовлетворяет условиям определения 10.2. По условию (1) в нем имеется вершина- корень r0. Пусть из r0 выходит k ребер и они ведут в вершины r1, ... , rk(k >= 1). Обозначим через Gi,(i=1, ..., k) граф, включающий вершины V_{i} =\{  v\in  V|v  \ достижима \ из \  r_{i} \} и соединяющие их ребра E_{i} \subseteq  E. Легко понять, что Gi удовлетворяет условиям условиям определения 10.2. Действительно, в ri не входят ребра, т.е. эта вершина - корень Gi . В каждую из остальных вершин из Vi входит по одному ребру как и в G . Если v \in  V_{i}, то она достижима из корня ri по определению графа Gi. Так как |Vi| <= n, то по индуктивному предположению G_i \in \mathcal{D}. Тогда граф G получен по индуктивному правилу (2) определения 10.3 из деревьев G1, ..., Gk и поэтому принадлежит классу \mathcal{D}.

\Leftarrow Если некоторый граф G=(V,E) входит в класс \mathcal{D}, то выполнение условий (1)-(3) определения 10.2 для него легко установить индукцией по определению 10.2. Предоставляем это читателю в качестве упражнения.

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

Корень - это единственная вершина, в которую не входят ребра, листья - это вершины, из которых не выходят ребра. Путь из корня в лист называется ветвью дерева. Высота дерева - это максимальная из длин его ветвей. Глубина вершины - это длина пути из корня в эту вершину. Для вершины v \in  V, подграф дерева T=(V,E), включающий все достижимые из v вершины и соединяющие их ребра из E, образует поддерево Tv дерева T с корнем v ( см. задачу 10.3). Высота вершины v - это высота дерева Tv. Граф, являющийся объединением нескольких непересекающихся деревьев, называется лесом .

Если из вершины v ведет ребро в вершину w, то v называется отцом w, а w - сыном v (в последнее время в ангоязычной литературе употребляется асексульная пара терминов: родитель - ребенок). Из определения дерева непосредственно следует, что у каждой вершины кроме корня имеется единственный отец. Если из вершины v ведет путь в вершину w, то v называется предком w, а w - потомком v. Вершины, у которых общий отец, называются братьями или сестрами.

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

< Лекция 9 || Лекция 10: 123 || Лекция 11 >
Елена Алексеевская
Елена Алексеевская

Это в лекции 3.

Татьяна Дембелова
Татьяна Дембелова

Почему в вводной лекции курса Основы дискретной математики одним из свойств отношения частичного порядка упоминается антирефлексивность? Посмотрела в других источниках, там -0  рефлексивность... http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0