forked from hofmannol/AlgoDatSoSe25
Compare commits
No commits in common. "141ff08b8215f35f26eccb77f25417d071f93410" and "c3826412343df03680b8edc36941849c308aa027" have entirely different histories.
141ff08b82
...
c382641234
@ -40,11 +40,10 @@ 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:
|
if value < current.value:
|
||||||
current = current.left
|
current = current.left
|
||||||
elif value > current:
|
elif value > current.value:
|
||||||
current = current.right
|
current = current.right
|
||||||
else:
|
else:
|
||||||
return current
|
return current
|
||||||
@ -56,12 +55,11 @@ 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:
|
if value < current.value:
|
||||||
parent = current
|
parent = current
|
||||||
current = current.left
|
current = current.left
|
||||||
elif value > current:
|
elif value > current.value:
|
||||||
parent = current
|
parent = current
|
||||||
current = current.right
|
current = current.right
|
||||||
else:
|
else:
|
||||||
@ -100,7 +98,7 @@ class BinaryTree:
|
|||||||
if not parent:
|
if not parent:
|
||||||
self.root = child
|
self.root = child
|
||||||
return child, None
|
return child, None
|
||||||
elif parent.left is current:
|
elif parent.left == current:
|
||||||
parent.left = child
|
parent.left = child
|
||||||
return child, parent
|
return child, parent
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user