Exemple #1
0
 def _fixRotation(self, parent :Node, grandParent : Node, greatGrandParent : Node):
     parent.parent = greatGrandParent
     if greatGrandParent:
         if greatGrandParent > grandParent:
             greatGrandParent.left = parent
         else:
             greatGrandParent.right = parent
     else:
         self.root = parent
Exemple #2
0
 def _rotateRight(self, node : Node, parent : Node, grandParent: Node):
     greatGrandParent = grandParent.parent
     self._fixRotation(parent, grandParent, greatGrandParent)
     oldRight = parent.right
     parent.right = grandParent
     grandParent.parent = parent
     grandParent.left = oldRight
     if oldRight:
         oldRight.parent = grandParent