Erste SchritteKostenlos loslegen

Einen Knoten in einen binären Suchbaum einfügen

Im Video hast du gelernt, was binäre Suchbäume (BSTs) sind und wie man ihre wichtigsten Operationen implementiert.

In dieser Übung implementierst du eine Funktion zum Einfügen eines Knotens in eine BST.

Um deinen Code zu testen, kannst du den folgenden Baum verwenden:

Grafische Darstellung eines binären Suchbaums.

Die Knotenpunkte enthalten Buchtitel und bilden eine BST, die auf der alphabetischen Reihenfolge basiert.

Dieser Baum wurde in der Variable bst vorgeladen:

bst = CreateTree()

Mit diesem Code kannst du überprüfen, ob der Knoten korrekt eingefügt wurde:

bst.insert("Pride and Prejudice")
print(search(bst, "Pride and Prejudice"))

Diese Übung ist Teil des Kurses

Datenstrukturen und Algorithmen in Python

Kurs anzeigen

Anleitung zur Übung

  • Prüfe, ob die BST leer ist.
  • Prüfe, ob die einzufügenden Daten kleiner sind als die Daten des aktuellen Knotens.
  • Prüfe, ob die einzufügenden Daten größer sind als die Daten des aktuellen Knotens.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

class BinarySearchTree:
  def __init__(self):
    self.root = None

  def insert(self, data):
    new_node = TreeNode(data)
    # Check if the BST is empty
    if ____ == None:
      self.root = new_node
      return
    else:
      current_node = self.root
      while True:
        # Check if the data to insert is smaller than the current node's data
        if ____ < ____:
          if current_node.left_child == None:
            current_node.left_child = new_node
            return 
          else:
            current_node = current_node.left_child
        # Check if the data to insert is greater than the current node's data
        elif ____ > ____:
          if current_node.right_child == None:
            current_node.right_child = new_node
            return
          else:
            current_node = current_node.right_child

bst = CreateTree()
bst.insert("Pride and Prejudice")
print(search(bst, "Pride and Prejudice"))
Bearbeiten und Ausführen von Code