Compare commits

...

2 Commits

Author SHA1 Message Date
141ff08b82 merge upstream 2025-04-24 12:33:06 +00:00
Oliver Hofmann
326286128c fixed performance analysis in bin_tree 2025-04-24 09:41:34 +02:00

View File

@ -40,10 +40,11 @@ class BinaryTree:
def search(self, value): def search(self, value):
current = self.root current = self.root
value = self.new_node(value)
while current: while current:
if value < current.value: if value < current:
current = current.left current = current.left
elif value > current.value: elif value > current:
current = current.right current = current.right
else: else:
return current return current
@ -55,11 +56,12 @@ class BinaryTree:
# der Knoten, der den zu löschenden Knoten ersetzt und der Elternknoten des gelöschten Knotens # der Knoten, der den zu löschenden Knoten ersetzt und der Elternknoten des gelöschten Knotens
parent = None parent = None
current = self.root current = self.root
value = self.new_node(value)
while current: while current:
if value < current.value: if value < current:
parent = current parent = current
current = current.left current = current.left
elif value > current.value: elif value > current:
parent = current parent = current
current = current.right current = current.right
else: else:
@ -98,7 +100,7 @@ class BinaryTree:
if not parent: if not parent:
self.root = child self.root = child
return child, None return child, None
elif parent.left == current: elif parent.left is current:
parent.left = child parent.left = child
return child, parent return child, parent
else: else: