MINT üben

In einen Suchbaum einfügen

Zwei Abituraufgaben zum Einfügen — von der Highscore-Liste bis zum Terminkalender.

Dein Fortschritt:
0 / 0 Aufgaben
1

Die Highscore-Liste

AFB I–II

Ein Geschicklichkeitsspiel speichert die erreichten Punktzahlen in einem binären Suchbaum vom Typ BinTree<Integer> (Ergänzende Hinweise 2025). Gleiche Punktzahlen werden nur einmal gespeichert. An einem Nachmittag werden nacheinander diese Punktzahlen erreicht:

520, 310, 780, 150, 400, 690, 900, 350

  1. Stellen Sie den Suchbaum dar, der entsteht, wenn die Punktzahlen in dieser Reihenfolge in einen leeren Baum eingefügt werden. 3 BE
  2. Geben Sie die Inorder-Folge des Baums an und nennen Sie die Eigenschaft, die sie bei jedem Suchbaum hat. 2 BE
  3. Die Highscore-Liste soll mit der höchsten Punktzahl beginnen. Verändern Sie die rekursive Inorder-Traversierung zu einer Methode static void rangliste(BinTree<Integer> b), die alle Punktzahlen absteigend ausgibt. 4 BE
  4. Implementieren Sie die Methode static void einfuegen(BinTree<Integer> b, int x) ohne Rekursion. 5 BE

Insgesamt 14 BE

Hinweise

Hinweis zu Aufgabe a)
Jede Zahl wird einzeln von der Wurzel aus einsortiert; die 350 landet unter der 400.
Hinweis zu Aufgabe b)
L – W – R; überlegen Sie, was „links kleiner, rechts größer“ für die Ausgabereihenfolge bedeutet.
Hinweis zu Aufgabe c)
Vertauschen Sie die Reihenfolge der beiden rekursiven Aufrufe.
Hinweis zu Aufgabe d)
Mit einer Schleife den Suchpfad hinablaufen, bis ein leerer Baum erreicht oder x gefunden ist. Nach den Ergänzenden Hinweisen 2025 bekommt ein leerer Baum bei setItem zwei leere Teilbäume.