From 2d2c6d93b2787b0f63a802328338907236860a21 Mon Sep 17 00:00:00 2001 From: Rachel Date: Tue, 6 Aug 2024 14:49:05 -0700 Subject: [PATCH 1/2] fixed error in del_node function --- data_structures/binary_tree/avl_tree.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/data_structures/binary_tree/avl_tree.py b/data_structures/binary_tree/avl_tree.py index 9fca7237404c..f201e20f27a9 100644 --- a/data_structures/binary_tree/avl_tree.py +++ b/data_structures/binary_tree/avl_tree.py @@ -215,12 +215,15 @@ def del_node(root: MyNode, data: Any) -> MyNode | None: return root else: root.set_left(del_node(left_child, data)) - # root.get_data() < data elif right_child is None: return root else: root.set_right(del_node(right_child, data)) + # Re-fetch left_child and right_child references + left_child = root.get_left() + right_child = root.get_right() + if get_height(right_child) - get_height(left_child) == 2: assert right_child is not None if get_height(right_child.get_right()) > get_height(right_child.get_left()): From dac0b02d17d2a701a6285eeff611a276c10cc85e Mon Sep 17 00:00:00 2001 From: Maxim Smolskiy Date: Fri, 24 Jan 2025 08:55:50 +0300 Subject: [PATCH 2/2] Update avl_tree.py --- data_structures/binary_tree/avl_tree.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_structures/binary_tree/avl_tree.py b/data_structures/binary_tree/avl_tree.py index f201e20f27a9..8558305eefe4 100644 --- a/data_structures/binary_tree/avl_tree.py +++ b/data_structures/binary_tree/avl_tree.py @@ -215,6 +215,7 @@ def del_node(root: MyNode, data: Any) -> MyNode | None: return root else: root.set_left(del_node(left_child, data)) + # root.get_data() < data elif right_child is None: return root else: