Skip to content

Commit 488a8b8

Browse files
authored
Update avl_tree.py
1 parent a4c5f39 commit 488a8b8

1 file changed

Lines changed: 6 additions & 25 deletions

File tree

data_structures/binary_tree/avl_tree.py

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,8 @@
1-
"""
2-
Implementation of an auto-balanced binary tree!
3-
For doctests run following command:
4-
python3 -m doctest -v avl_tree.py
5-
For testing run:
6-
python avl_tree.py
7-
"""
8-
91
from __future__ import annotations
102

113
import math
124
import random
5+
import doctest
136
from typing import Any
147

158

@@ -82,9 +75,7 @@ def my_max(a: int, b: int) -> int:
8275
if a > b:
8376
return a
8477
return b
85-
86-
87-
def right_rotation(node: MyNode) -> MyNode:
78+
def right_rotation(node: MyNode) -> MyNode:
8879
r"""
8980
A B
9081
/ \ / \
@@ -105,9 +96,7 @@ def right_rotation(node: MyNode) -> MyNode:
10596
h2 = my_max(get_height(ret.get_right()), get_height(ret.get_left())) + 1
10697
ret.set_height(h2)
10798
return ret
108-
109-
110-
def left_rotation(node: MyNode) -> MyNode:
99+
def left_rotation(node: MyNode) -> MyNode:
111100
"""
112101
a mirror symmetry rotation of the left_rotation
113102
"""
@@ -145,9 +134,7 @@ def rl_rotation(node: MyNode) -> MyNode:
145134
assert right_child is not None
146135
node.set_right(right_rotation(right_child))
147136
return left_rotation(node)
148-
149-
150-
def insert_node(node: MyNode | None, data: Any) -> MyNode | None:
137+
def insert_node(node: MyNode | None, data: Any) -> MyNode | None:
151138
if node is None:
152139
return MyNode(data)
153140
if data < node.get_data():
@@ -175,9 +162,7 @@ def insert_node(node: MyNode | None, data: Any) -> MyNode | None:
175162
h1 = my_max(get_height(node.get_right()), get_height(node.get_left())) + 1
176163
node.set_height(h1)
177164
return node
178-
179-
180-
def get_right_most(root: MyNode) -> Any:
165+
def get_right_most(root: MyNode) -> Any:
181166
while True:
182167
right_child = root.get_right()
183168
if right_child is None:
@@ -240,9 +225,7 @@ def del_node(root: MyNode, data: Any) -> MyNode | None:
240225
height = my_max(get_height(root.get_right()), get_height(root.get_left())) + 1
241226
root.set_height(height)
242227
return root
243-
244-
245-
class AVLtree:
228+
class AVLtree:
246229
"""
247230
An AVL tree doctest
248231
Examples:
@@ -330,8 +313,6 @@ def __str__(
330313

331314

332315
def _test() -> None:
333-
import doctest
334-
335316
doctest.testmod()
336317

337318

0 commit comments

Comments
 (0)