Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000526.doc
Скачиваний:
17
Добавлен:
30.04.2022
Размер:
11.67 Mб
Скачать

4.11.5. Упорядоченные и бинарные деревья

Определим по индукции понятие упорядоченного дерева:

1) пустое множество и список (а), где а некоторый элемент, является упорядоченным деревом;

2) если T1, T2,..., Тп непустые упорядоченные деревья, a некоторый новый элемент, то список Т = (a, T1, T2, ..., Тn) образует упорядоченное дерево. При этом элемент а называемся корнем упорядоченного дерева Т;

3) любое упорядоченное дерево строится в соответствии с п.п. 1 и 2.

Если T1, T2, ..., Тn  упорядоченные деревья, то список (T1, T2, ..., Тn) называется упорядоченным лесом.

Для заданного упорядоченного дерева Т определим множе­ство S(Т) его упорядоченных поддеревьев:

 если Т = , то S(T) = ;

 если Т = (а), то S(T) = {(a)};

 если Т=(a, T1, T2, ..., Тn), то S(T)=S(T1)...S(Tn){Т}.

Непустое упорядоченное дерево Т может интерпретироваться в виде системы пронумерованных непустых множеств, каждое из которых взаимно однозначно соответствует упорядоченному поддереву из S(Т) так, что:

1) если Т' поддерево упорядоченного дерева Т", Т',Т"S(T), то для соответствующих множеств X' и X" выполняется включение X' X";

2) если Т' не является поддеревом упорядоченного дерева Т", Т',Т"S(T), то соответствующие множества не пересекаются.

Пример. Упорядоченному дереву

(1, (2, (4), (6)), (3, (6, (8), (9)), (7)))

с оответствует система множеств, изображенная на рис. 4.38.

Рис. 4.38 Рис. 4.39

Упорядоченное дерево может также интерпретироваться в виде так называемого уступчатого списка, который использует­ся в оглавлениях. На рис. 4.39 представлен уступчатый список, соответствующий упорядоченному списку из примера.

Согласно следующему тезису любая схема, в которой заданы определенные приоритеты между элементами, может рассматривать­ся как некоторое упорядоченное дерево.

Тезис. Любая иерархическая классификационная схема интер­претируется некоторым упорядоченным деревом.

Например, и виде упорядоченного дерева представляется любой терм. На рис. 4.40 изображено упорядоченное дерево, соответствующее терму t=a-b(c:d+e:f).

Рис. 4.40

Частным случаем упорядоченного дерева является бинарное дерево. Определение понятия бинарного дерева повторяет определение для упорядоченного дерева с ограничением п{0,1,2} в п.2. При этом для бинарного дерева Т = ((a),T1,T2), бинарное поддерево T1 называется левым поддеревом, а T2 – правым поддеревом.

Бинарные деревья имеют более простое устройство, чем упо­рядоченные, и вместе с тем любой упорядоченный лес взаимно однозначно соответствует некоторому бинарному дереву.

Опишем алгоритм преобразования упорядоченною леса Т = (T1, T2, .., Tn) в бинарное дерево В (Т).

Шаг 1. Если n = 0, В(Т) = .

Шаг 2. Если п > 0, то корнем бинарного дерева В(Т) явля­ется корень упорядоченного дерева Т1, левое поддерево дерева В(Т) - бинарное дерево В(Т11, Т12, …, Т1m), где Т1= ((a1),T11, T12, ..., T1m), правое поддерево дерева В(Т) - бинарное дерево В(Т2, ..., Тn).