File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed
data_structures/binary_tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -194,23 +194,26 @@ def get_left_most(root: MyNode) -> Any:
194
194
root = left_child
195
195
return root .get_data ()
196
196
197
+
197
198
# Function to get balance factor
198
199
def get_balance (node : MyNode ) -> int :
199
200
if node is None :
200
201
return 0
201
202
return get_height (node .get_left ()) - get_height (node .get_right ())
202
203
204
+
203
205
def get_min_value_node (node : MyNode ) -> MyNode :
204
206
current = node
205
207
while current .get_left () is not None :
206
208
current = current .get_left ()
207
209
return current
208
210
211
+
209
212
def del_node (root : MyNode , data : Any ) -> MyNode | None :
210
213
if root is None :
211
214
print ("Nothing to delete" )
212
215
return None
213
-
216
+
214
217
if root .get_data () > data :
215
218
root .set_left (del_node (root .get_left (), data ))
216
219
elif root .get_data () < data :
@@ -227,7 +230,9 @@ def del_node(root: MyNode, data: Any) -> MyNode | None:
227
230
root .set_data (temp .get_data ())
228
231
root .set_right (del_node (root .get_right (), temp .get_data ()))
229
232
230
- root .set_height (1 + my_max (get_height (root .get_left ()), get_height (root .get_right ())))
233
+ root .set_height (
234
+ 1 + my_max (get_height (root .get_left ()), get_height (root .get_right ()))
235
+ )
231
236
232
237
balance = get_balance (root )
233
238
@@ -251,6 +256,7 @@ def del_node(root: MyNode, data: Any) -> MyNode | None:
251
256
252
257
return root
253
258
259
+
254
260
class AVLtree :
255
261
"""
256
262
An AVL tree doctest
You can’t perform that action at this time.
0 commit comments