File tree 1 file changed +4
-1
lines changed
data_structures/binary_tree
1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -150,6 +150,8 @@ def rl_rotation(node: MyNode) -> MyNode:
150
150
def insert_node (node : MyNode | None , data : Any ) -> MyNode | None :
151
151
if node is None :
152
152
return MyNode (data )
153
+ if data == node .get_data (): # No duplicates allowed
154
+ return node
153
155
if data < node .get_data ():
154
156
node .set_left (insert_node (node .get_left (), data ))
155
157
if (
@@ -163,7 +165,7 @@ def insert_node(node: MyNode | None, data: Any) -> MyNode | None:
163
165
node = right_rotation (node )
164
166
else :
165
167
node = lr_rotation (node )
166
- else :
168
+ elif data > node . get_data () :
167
169
node .set_right (insert_node (node .get_right (), data ))
168
170
if get_height (node .get_right ()) - get_height (node .get_left ()) == 2 :
169
171
right_child = node .get_right ()
@@ -202,6 +204,7 @@ def get_balance(node: MyNode | None) -> int:
202
204
203
205
204
206
def get_min_value_node (node : MyNode ) -> MyNode :
207
+ # Returns the node with the minimum value in the tree that is leftmost node
205
208
# Function get_left_most is not used here because it returns the value of the node
206
209
while True :
207
210
left_child = node .get_left ()
You can’t perform that action at this time.
0 commit comments