Наиболее просто определить один тип узлов, который содержит достаточное
число указателей на дочерние узлы, чтобы отобразить все необходимые узлы. Я на-
звал этот метод методом полных узлов, так как некоторые узлы могут быть больше-
го размера, чем это необходимо на самом деле. Дерево, изображенное на ,
имеет степень 3. Чтобы построить его методом полных узлов, потребуется опреде-
лить один класс, в котором содержатся указатели на три дочерних узла. Следую-
щий код демонстрирует, как можно определить тип данных для хранения узлов
дерева.
type
PTernaryNode = PTernaryNode ;
TTernaryNode = record
LeftChild : PTernaryNode;
MiddleChild : PTernaryNode;
RightChild : PTernaryNode;
end;
При помощи типа TTernaryNode можно создать дерево, используя элементы
потомков узла для соединения узлов друг с другом. Следующий фрагмент кода
строит два верхних уровня дерева, изображенного на .
var
А, В, С, D : PTernaryNode;
begin
// Размещение узлов.
GetMem(A,SizeOf(TTernaryNode));
GetMemfВ,SizeOf(TTernaryNode));
GetMem(С,SizeOf(TTernaryNode));
GetMem(D,SizeOf(TTernaryNode));
// Соединение узлов.
A^.LeftChild := В;
A^.MiddleChild := С;
A^.RightChild := D;
|