Реферат: Двоичные деревья поиска
nodeParent = nodeParent.nodeParent;
End
// Возвратить родителя вершины, являющегося левым потомком своего родителя
Return nodeParent;
End
TreePrevious(node)
Begin
If (node.left != NIL) Then
// Если левое поддерево не пусто, то возвратить
// вершину из левого поддерева с максимальным значением ключа
Return TreeMaximum(node.left);
nodeParent = node.nodeParent;
// Перебирать родителей, пока не найдём вершину, являющуюся
// правым потомком своего родителя или пока не закончатся родители
While (nodeParent != NIL) and (node == nodeParent.left) Do
Begin
node = nodeParent;
nodeParent = nodeParent.nodeParent;
End
// Возвратить родителя вершины являющегося его правым потомком
Return nodeParent;
End
Добавление вершины
Добавление вершины в ДДП сопряжено с некоторыми проблемами. После добавления ДДП должно сохранить свойство упорядоченности, а это значит, что вершину, куда попало добавлять нельзя. Поэтому, прежде чем вставлять вершину, необходимо подобрать для неё подходящее место, то есть такое место, после вставки в которое, дерево сохранит своё свойство упорядоченности. Говоря другими словами, нам нужно место после вершины с наибольшим ключом из всех меньших данного.
TreeInsert(Tree,node) Begin nodeParent = NIL; nodeTemp = T.root; // Пока ещё есть вершины которые надо просмотреть, то К-во Просмотров: 885
Бесплатно скачать Реферат: Двоичные деревья поиска
|