Россия, Москва, МГУПИ |
Предварительные сведения
Деревья
Деревья являются одним из интереснейших классов графов, используемых для представления различного рода иерахических структур.
На рисунке 2 показан пример дерева
С ориентированными деревьями связана богатая терминология, пришедшая из двух источников: ботаники и области семейных отношений.
Корень - это единственная вершина, в которую не входят ребра, листья - это вершины, из которых не выходят ребра. Путь из корня в лист называется ветвью дерева. Высота дерева - это максимальная из длин его ветвей. Глубина вершины - это длина пути из корня в эту вершину. Для вершины , подграф дерева , включающий все достижимые из вершины и соединяющие их ребра из , образует поддерево дерева с корнем .. Высота вершины - это высота дерева . Граф, являющийся объединением нескольких непересекающихся деревьев, называется лесом.
Если из вершины ведет ребро в вершину , то называется отцом , а - сыном (в последнее время в ангоязычной литературе употребляется асексульная пара терминов: родитель - ребенок). Из определения дерева непосредственно следует, что у каждой вершины кроме корня имеется единственный отец. Если из вершины ведет путь в вершину , то называется предком , а - потомком . Вершины, у которых общий отец, называются братьями или сестрами.
Пример 1.4. В дереве на рис. 1.2 вершина является корнем, вершины - листья. Путь - одна из ветвей дерева . Вершина является отцом (родителем) вершин и , а каждая из этих вершин - ее сыном (ребенком). Между собой вершины и являются братьями (сестрами). Глубина равна 1, а высота - 2. Высота всего дерева равна 3.
Для деревьев часто удобно использовать следующее индуктивное определение.
Определение 1.11. Определим по индукции класс графов , называемых деревьями. Одновременно для каждого из них определим выделенную вершину - корень.
- Граф , с единственной вершиной и пустым множеством ребер является деревом (входит в ). Вершина называется корнем этого дерева.
- Пусть графы с корнями принадлежат , а - новая вершина, т.е. . Тогда классу принадлежит также следующий граф , где , . Корнем этого дерева является вершина .
- Других графов в классе нет.
Рисунок 1.3 иллюстрирует это определение.
Определения ориентированных деревьев 1.10 и 1.11 эквивалентны.
Выделим еще один класс графов, обобщающий деревья, ациклические графы. Два вида таких размеченных графов будут использованы далее для представления булевых функций. У этих графов может быть несколько корней - вершин, в которые не входят ребра, и в каждую вершину может входить несколько ребер, а не одно, как у деревьев.
Дерево называется бинарным или двоичным, если у каждой его внутренней вершины имеется не более двух сыновей, причем ребра, ведущие к ним помечены двумя разными метками (обычно используются метки из пар: "левый" - "правый", 0 - 1, - и т.п.)
Бинарное дерево называется полным, если у каждой его внутренней вершины имеется два сына и все его ветви имеют одинаковую длину.