@@ -12,14 +12,13 @@ def __init__(self, value):
1212 def __repr__ (self ):
1313 return "Node with value - %s" % self .value
1414
15-
1615class BinarySearchTree (object ):
1716 def __init__ (self ):
1817 self .root = None
1918 self .len = 0
2019
2120 def __len__ (self ):
22- return self .len
21+ return self .len
2322
2423 def is_empty (self ):
2524 return self .root == None
@@ -41,7 +40,7 @@ def _postorder(self, node, values):
4140 self ._postorder (node .left , values )
4241 self ._postorder (node .right , values )
4342 values .append (node .value )
44-
43+
4544 def values (self , reverse = False , order = "in" ):
4645 values = []
4746 if order == "in" :
@@ -55,7 +54,7 @@ def values(self, reverse = False, order="in"):
5554 return values
5655
5756 def _search (self , root , value ):
58- if not root or root .value == value :
57+ if not root or root .value == value :
5958 return root
6059 if value < root .value :
6160 return self ._search (root .left , value )
@@ -80,11 +79,11 @@ def get_min(self):
8079 def get_max (self ):
8180 """ returns the element with the maximum value """
8281 return self ._extremes (self .root , find_min = False )
83-
82+
8483 def successor (self , value ):
8584 """ returns the successor of the element with value - value"""
8685 node = self .find_element (value )
87- if not node :
86+ if not node :
8887 return None
8988 if node .right :
9089 return self ._extremes (node .right , find_min = True )
@@ -115,14 +114,14 @@ def insert(self, value):
115114 new_node .parent = parent
116115 self .len += 1
117116 return
118-
117+
119118 def delete (self , value ):
120119 """ deletes a node from tree with value - value """
121120 node = self .find_element (value )
122121 if not node :
123122 return None
124123 if not node .left or not node .right :
125- node_spliced = node
124+ node_spliced = node
126125 else :
127126 node_spliced = self .successor (node .value )
128127 if node_spliced .left :
@@ -137,7 +136,7 @@ def delete(self, value):
137136 node_spliced .parent .left = temp_node
138137 else :
139138 node_spliced .parent .right = temp_node
140-
139+
141140 if node != node_spliced :
142141 node .value = node_spliced .value
143142 return node_spliced
0 commit comments