Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_dm.doc
Скачиваний:
32
Добавлен:
08.11.2018
Размер:
11.89 Mб
Скачать
    1. Деревья.

Определение.

Деревом называется конечный связный граф без циклов (определение не полное).

Примеры:

Не дерево

Лес из трёх деревьев.

Определение.

Лесом из деревьев называется граф без циклов у которого .

Определение. Деревом называется связный, ориентированный граф без петель и кратных ребер, не содержащий в себе циклов, удовлетворяющий следующим условиям:

  1. имеется в точности один узел, называемый корнем, в который не входит ни одно ребро,

  2. В каждый узел, кроме корня, входит ровно одно ребро,

  3. Из корня к каждому узлу идет путь ( который, как легко показать единственный).

Деревья являются простейшим видом связных графов. Любое дерево с n вершинами содержит n-1 ребер. Число различных деревьев, которые можно построить на n вершинах равно

Определение.

Дерево с одной выделенной вершиной называется корневым деревом.

Определение

Ориентированный граф, состоящий из нескольких деревьев, называется лесом.

Определение.

Пусть G=(Х, Г) – граф, являющийся лесом. Если дуга (v,w) принадлежит Г, то v называется отцом узла w, а w – сыном узла v.

Определение.

Если есть путь из v в w, то v называется предком узла w, а w – потомком узла v.

Определение.

Узел без потомков называется листом.

Определение.

Узел v и его потомки вместе образуют поддерево леса G, и узел v называется корнем этого поддерева.

Определение.

Глубина узла v в дереве – это длина пути из корня в v.

Определение.

Высота узла в дереве – это длина самого длинного пути из этого узла в какой-нибудь лист.

Определение.

Высотой дерева называется высота его корня.

Пример

Глубина узла b, в данном примере, = 1, а его высота = 2. Высота дерева = 3.

Определение.

Упорядоченным деревом называется дерево, в котором множество сыновей каждого узла упорядоченно. При изображении упорядоченного дерева, как правило, считается, что множество сыновей каждого узла упорядоченно слева направо.

Определение.

Бинарным деревом называется такое упорядоченное дерево, что

  1. Каждый сын произвольного узла идентифицируется либо как левый сын, либо как правый сын.

  2. Каждый узел имеет не более одного левого и не более одного правого сына.

Обратите внимание, что бинарное дерево не является частным случаем дерева, это совершенно иное, хотя и тесно связанное понятие.

Например:

Указанные бинарные деревья различны между собой ( в первом случае корень имеет пустое правое поддерево, а во втором левое поддерево пусто), хотя как деревья они изоморфны, и мы можем рассматривать их как одно дерево.

Определение. Бинарное дерево называется полным, если для некоторого целого числа K каждый узел, глубины меньшей k имеет как левого, так и правого сына, и каждый узел глубины k является листом.

Полное дерево глубины k имеет

узлов.

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

Будем считать, что Т – дерево с корнем r и сыновьями {v1 . . . vk} при k >=0. При k = 0 это дерево состоит из единственного узла r.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]