
5.3.3. Ориентированные, упорядоченные, бинарные деревья
Ориентированные деревья
Определение. Ориентированным деревом (или ордеревом) называется ориентированный граф без циклов, во все вершины которого, кроме одной, входит ровно одна дуга. Единственная вершина, из которой дуги только выходят, называется корнем дерева. Остальные вершины называются узлами дерева.
Из определения дерева следует, что корень связан единственным путем с любой другой вершиной дерева.
На рис. 5 приведены диаграммы всех неизоморфных ориентированных деревьев с тремя и четырьмя вершинами.
Утверждение. Всякое дерево можно ориентировать.
Доказательство. Выберем произвольную вершину и дерева и назначим ее корнем. Ребра, инцидентные вершине и, ориентируем от вершины и. Далее повторим эту процедуру: войдя в некоторую вершину v по дуге, ориентируем все остальные ребра, инцидентные вершине v, от вершины v. Так как дерево не содержит циклов, ориентация ребер не приведет к противоречиям.
На рис. 6 приведен пример ориентированного дерева. Вершина, выбранная корнем, обозначена двойным кружком.
Выбор корня однозначно определяет ориентацию дерева. Поэтому каждому дереву с р вершинами соответствует р ориентированных деревьев.
Висячая вершина ордерева называется листом. Путь из корня в лист называется ветвью. Длина наибольшей ветви ордерева называется высотой ордерева. Расстояние от корня до некоторой вершины называется уровнем вершины. Сам корень имеет уровень 0. Вершины одного уровня образуют ярус дерева.
Другая терминология.
Вершины, достижимые из вершины и,
называются потомками вершины и.
Если в дереве существует дуга
,
то вершина и называется отцом
вершины v, а вершина
v называется сыном
вершины и. Сыновья одного отца
называются братьями.
Замечание. При изображении ориентированных деревьев принято помещать корень наверху и все стрелки дуг ориентировать сверху вниз, что избавляет от необходимости изображать эти стрелки.
На рис. 7 показано дерево с рис. 6, изображенное в соответствии с этими правилами. Вершины дерева разбиты на 4 яруса. Нулевой ярус содержит корень дерева. В первом и втором ярусах по 4 вершины, в третьем ярусе 8 вершин.
5.3.4. Остовные деревья графа
Пусть – связный граф.
Определение. Остовным деревом
связного графа
называют
всякий его остовный подграф, который
является деревом.
Если в графе
всего р вершин, то в остовном дереве
ребер. Чтобы построить остовное дерево
графа, нужно последовательно удалять
ребра, принадлежащие циклам, пока все
циклы не будут разрушены. Если в графе
всего q ребер, то, чтобы
получить остовное дерево, потребуется
удалить
ребро.
На рис. 10 показаны два различных остовных дерева (Т1 и Т2) исходного графа .
3.8.2. Точки сочленения
Определение. Вершина v графа называется точкой сочленения, если её удаление из графа увеличивает число компонент связности.
Определение. Блоком называется связный граф, не имеющий точек сочленения.
На рис. 1 показан связный граф с точкой сочленения v, который после удаления вершины v распадается на три блока.
Рис. 1
Утверждение (теорема о свойствах точки сочленения).
Пусть
связный граф и
.
Тогда следующие утверждения эквивалентны:
v – точка сочленения;
: любая простая цепь, соединяющая вершины u и w проходит через вершину v.
Вершина v не является висячей вершиной никакого остовного дерева графа G.
Доказательство.
.
Рассмотрим граф
.
Так как v – точка
сочленения, то граф
не связен, так что число k
его компонент связности
.
Выберем произвольно две компоненты
связности графа
:
и
.
Пусть
.
В графе
не существует простой цепи, соединяющей
вершины u и w.
Но в исходном графе G
такие цепи были, ведь граф G
был связен. Все они исчезли после удаления
вершины v, значит, все
они через неё проходили.
.
Допустим, что вершина v
– это висячая вершина некоторого
остовного дерева T
графа G (рис. 2)
Рис. 2
Тогда две любые другие вершины u и w дерева T, отличные от вершины v, соединены в T (и, значит, в G) простой цепью, не проходящей через вершину v – противоречие.
.
Легко видеть, что во всяком дереве
висячие вершины и только они не являются
точками сочленения.
Если v – не есть висячая вершина никакого остовного дерева графа G, её удаление разрушит все остовные деревья этого графа. Что и означает разделение связного графа на несколько компонент связности.
Следствие. Так как во всяком дереве есть по крайней мере две висячие вершины, то во всяком графе по крайней мере две вершины не являются точками сочленения.