Ejemplo n.º 1
0
 def _delete_node_with_one_child(self, M):
     C = M.l or M.r
     assert(M.color is BLACK)
     if C.color is RED:
         C.color = BLACK
     BinarySearchTree._delete_node_with_one_child(self, M)
Ejemplo n.º 2
0
 def _delete_leaf(self, n):
     if n.color is RED: # simple case
         BinarySearchTree._delete_leaf(self, n)
     else:
         self._delete_case1(n)
         BinarySearchTree._delete_leaf(self, n)
Ejemplo n.º 3
0
 def __init__(self, iter = []):
     BinarySearchTree.__init__(self, iter, RedBlackNode)
Ejemplo n.º 4
0
 def _delete_node_with_one_child(self, n):
     par = n.parent
     BinarySearchTree._delete_node_with_one_child(self, n)
     self._rebalance_till_root(par)
Ejemplo n.º 5
0
 def _delete_leaf(self, n):
     par = n.parent
     BinarySearchTree._delete_leaf(self, n)
     self._rebalance_till_root(par)
Ejemplo n.º 6
0
 def __init__(self, iter = []):
     BinarySearchTree.__init__(self, iter, AVLNode)