Реферат: Двоичные деревья поиска
End
RBTRightRotate(Tree,node)
Begin
nodeTemp = node.left;
node.left = nodeTemp.right;
If (nodeTemp.right != NIL) Then
nodeTemp.right.nodeParent = node;
nodeTemp.nodeParent = node.nodeParent;
If (node.nodeParent == NIL) Then
Tree.root = nodeTemp;
Else
Begin
If (node == node.nodeParent.right) Then
node.nodeParent.right = nodeTemp;
Else
node.nodeParent.left = nodeTemp;
End
nodeTemp.right = node;
node.nodeParent = nodeTemp;
End
Добавление вершины в КЧД
Чтобы добавить вершину в КЧД, мы применяем процедуру TreeInsert для ДДП, красим вершину в красный цвет, а затем восстанавливаем свойства КЧД. Для этого мы перекрашиваем некоторые вершины и производим вращения.
1 RBTInsert(Tree,node) 2 Begin 3 TreeInsert(Tree,node); 4 node.color = RED; 5 While (node != Tree.root) and (node.nodeParent.color == RED) Do 6 Begin 7 If (node.nodeParent == node.nodeParent.nodeParent.left) Then К-во Просмотров: 888
Бесплатно скачать Реферат: Двоичные деревья поиска
|