als erstes möchte ich anmerken, daß ich Foren-Neuling bin und nach meinem Thema das Forum, leider ohne Erfolg,
durchsucht habe. Sollte es doch schon irgendwo behandelt worden sein, bitte ich um Entschuldigugn und freue mich
über einen Link
Ansonsten hau ich mal meine Frage raus, vlt weiss ja jemand Rat:
Und zwar bin ich dabei einen Binären Suchbaum zu implementieren:
Code: Alles auswählen
class BST(object): #Klasse Binary Search Tree
def __init__(self, key=None, leftTree=None, rightTree=None, value=None):
self.key = key
self.leftTree = leftTree
self.rightTree = rightTree
self.value = value
def insert(self, key):
if key < self.key:
if self.leftTree == None:
self.leftTree = BST(key)
else:
self.leftTree.insert(key)
elif key > self.key:
if self.rightTree == None:
self.rightTree = BST(key)
else:
self.rightTree.insert(key)
Den key in der Parameter liste habe ich mit Absicht auf None gesetzt damit ich einen leeren Baum erzeugen kann.
Code: Alles auswählen
binaryTree = BST()der Liste an den Baum anhängen. Leider bekomme ich dabei eine Fehlermeldung
Code: Alles auswählen
liste = [random.randrange(1, 100) for _ in range(100)]
for i in range(0, len(liste)-1):
binaryTree.insert(liste[i])
Wenn ich allerdings einen neuen Baum mit z.B.
Code: Alles auswählen
binaryTree = BST(5)Weiss jemand wie ich den Code ändern muss, um einen leeren Baum zu erzeugen den ich mit der beschriebenen
insert Methode füllen kann?
Wäre toll wenn jemand ne Idee hätte.
Vielen Dank schonmal
