Traversierung in Binärbaumen

In diesem interaktiven Element lernst du zwei Traversierungsalgorithmen kennen. Dabei kannst du die Abläufe der Algorithmen auf einem Binärbaum betrachten und auch selber "programmieren". So ist das Fenster aufgebaut:

  • Im linken Bereich des interaktiven Elements siehst du einen Binärbaum der mit zufälligen Werten generiert und dann traversiert werden soll.
  • Im linken Bereich befinden sich zusätzlich Anzeigen der besuchten Knoten und der aktuellen Queue (Warteschlange) bzw. des aktuellen Stacks (Stapel).
  • Im rechten Bereich befinden sich verschiedene Auswahlelemente.
  • Wird die Codeblockansicht ausgewählt, befindet sich zusätlich ein Codeblockbereich, indem mithilfe von Codeblöcken ein Programmcode zusammengesetzt werden soll.
×
Hinweise zum Spiel:

  • Beginne die Anwendung, indem du in der Auswahlliste einen der Traversierungsalgorithmen auswählst.
  • Die Buttons stellen dann verschiedene Visualisierungsmöglichkeiten der Algorithmen zur Verfügung.
  • Klicke zunächst auf um den Ablauf als Animation der Schritte zu betrachten.
  • Nachdem du eine Visualisierung ausgewählt hast, kannst du über über jederzeit zur Auswahl zurückkehren.
DFT (Node) {
}
+
×
Klicke auf einen Baustein um ihn der Auswahl hinzuzufügen:

markNode(Node)
Markiert den Knoten als besucht
createQueue()
Erstellt eine Queue
while (Queue_not_empty) {
While-Schleife: solange Queue nicht leer ist
DFT(Node)
Ruft die Funktion rekursiv auf
dequeue()
Entfernt den ersten Knoten der Queue und gibt ihn zurück
for each (ChildNode) {
For-Each-Schleife: für jeden Kindknoten (nach Reihenfolge)
} end while loop
Ende der While-Schleife
} end for each loop
Ende der For-Each-Schleife
enqueue(Node)
Fügt den Knoten der Queue hinzu
enqueue(Node)
Fügt den Knoten der Queue hinzu
pushStack(Node)
Fügt den Knoten dem Stack hinzu
pushStack(Node)
Fügt den Knoten dem Stack hinzu

Zur Übersichtsseite

Impressum
Datenschutz
Barrierefreiheit
Creative Commons License