Skip to content

Commit 2708486

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent 9633a63 commit 2708486

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

data_structures/binary_tree/avl_tree.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ def set_left(self, node: MyNode | None) -> None: self.left = node
3737
def set_right(self, node: MyNode | None) -> None: self.right = node
3838
def set_height(self, height: int) -> None: self.height = height
3939

40-
def get_height(node: MyNode | None) -> int:
40+
def get_height(node: MyNode | None) -> int:
4141
return node.height if node else 0
4242

43-
def my_max(a: int, b: int) -> int:
43+
def my_max(a: int, b: int) -> int:
4444
return a if a > b else b
4545

4646
def right_rotation(node: MyNode) -> MyNode:
@@ -70,7 +70,7 @@ def rl_rotation(node: MyNode) -> MyNode:
7070

7171
def insert_node(node: MyNode | None, data: Any) -> MyNode | None:
7272
if not node: return MyNode(data)
73-
73+
7474
if data < node.data:
7575
node.left = insert_node(node.left, data)
7676
if get_height(node.left) - get_height(node.right) == 2:
@@ -79,7 +79,7 @@ def insert_node(node: MyNode | None, data: Any) -> MyNode | None:
7979
node.right = insert_node(node.right, data)
8080
if get_height(node.right) - get_height(node.left) == 2:
8181
node = rl_rotation(node) if data < node.right.data else left_rotation(node)
82-
82+
8383
node.height = my_max(get_height(node.right), get_height(node.left)) + 1
8484
return node
8585

@@ -98,50 +98,50 @@ def del_node(root: MyNode, data: Any) -> MyNode | None:
9898
if not root.left: return root
9999
root.left = del_node(root.left, data)
100100
else: root.right = del_node(root.right, data)
101-
101+
102102
if get_height(root.right) - get_height(root.left) == 2:
103103
root = left_rotation(root) if get_height(root.right.right) > get_height(root.right.left) else rl_rotation(root)
104104
elif get_height(root.right) - get_height(root.left) == -2:
105105
root = right_rotation(root) if get_height(root.left.left) > get_height(root.left.right) else lr_rotation(root)
106-
106+
107107
root.height = my_max(get_height(root.right), get_height(root.left)) + 1
108108
return root
109109
class AVLtree:
110110
def __init__(self) -> None: self.root = None
111111
def get_height(self) -> int: return get_height(self.root)
112-
112+
113113
def insert(self, data: Any) -> None:
114114
print(f"insert:{data}")
115115
self.root = insert_node(self.root, data)
116-
116+
117117
def del_node(self, data: Any) -> None:
118118
print(f"delete:{data}")
119119
if not self.root: return
120120
self.root = del_node(self.root, data)
121-
121+
122122
def __str__(self) -> str:
123123
if not self.root: return ""
124124
q, output, layer, cnt = MyQueue(), "", self.get_height(), 0
125125
q.push(self.root)
126-
126+
127127
while not q.is_empty():
128128
node = q.pop()
129129
space = " " * int(2**(layer-1))
130130
output += space + (str(node.data) if node else "*") + space
131131
cnt += 1
132-
132+
133133
if node:
134134
q.push(node.left)
135135
q.push(node.right)
136136
else:
137137
q.push(None)
138138
q.push(None)
139-
139+
140140
if any(cnt == 2**i - 1 for i in range(10)):
141141
layer -= 1
142142
output += "\n"
143143
if layer == 0: break
144-
144+
145145
return output + "\n" + "*"*36
146146
def _test() -> None: doctest.testmod()
147147

@@ -150,11 +150,11 @@ def _test() -> None: doctest.testmod()
150150
t = AVLtree()
151151
lst = list(range(10))
152152
random.shuffle(lst)
153-
153+
154154
for i in lst:
155155
t.insert(i)
156156
print(t)
157-
157+
158158
random.shuffle(lst)
159159
for i in lst:
160160
t.del_node(i)

0 commit comments

Comments
 (0)