Ich hätte eine kleine Anfängerfrage bzgl. folgendem Methodenaufruf auf einem erzeugten Objekt der Klasse TreeNode.
So funktioniert die Suche nach einem Element in meinem kleinen Test-Baum:
Code: Alles auswählen
class TreeNode:
def __init__(self, val, left=None, right=None):
self.value = val
self.leftChild = left
self.rightChild = right
def search(searchValue, node):
if node is None:
print("value not found!")
return node
elif node.value == searchValue:
print("value found at:", node)
elif searchValue < node.value:
return search(searchValue, node.leftChild)
else:
return search(searchValue, node.rightChild)
node11=TreeNode(10)
node12=TreeNode(33)
node21=TreeNode(56)
node22=TreeNode(89)
node1 = TreeNode(25,node11,node12)
node2 = TreeNode(75,node21, node22)
root = TreeNode(50, node1, node2)
search(33, root)
Allerdings check ich ehrlich gesagt auch gar nicht, was ich dann beim Parameter 'node' in der search-Methode beim Aufruf übergeben soll??
NameError: name 'search' is not defined
Code: Alles auswählen
class TreeNode:
def __init__(self, val, left=None, right=None):
self.value = val
self.leftChild = left
self.rightChild = right
def search(self, searchValue, node):
if node is None:
print("value not found!")
return node
elif node.value == searchValue:
print("value found at:", node)
elif searchValue < node.value:
return search(searchValue, node.leftChild)
else:
return search(searchValue, node.rightChild)
node11=TreeNode(10)
node12=TreeNode(33)
node21=TreeNode(56)
node22=TreeNode(89)
node1 = TreeNode(25,node11,node12)
node2 = TreeNode(75,node21, node22)
root = TreeNode(50, node1, node2)
root.search(33,root)