Traversierungsalgorithmen
Wir haben schon drei Traversierungsmöglichkeiten kennengelernt. Jetzt versuchen wir für die drei rekursive Alogrithmen zu entwicklen.
Pre-Order
- Betrachte das Objektdiagramm und gib die Reihenfolge an in der die Kontakte durchlaufen werden. Schreibe dazu die Reihenfolge der Benutzernamen auf.
- Löse das Code-Puzzle zur Pre-Order-Methode.
- Führe den Algorithmus am Objektdiagramm aus.
Post-Order
- Betrachte das Objektdiagramm und gib die Reihenfolge an in der die Kontakte durchlaufen werden. Schreibe dazu die Reihenfolge der Benutzernamen auf.
- Formuliere einen Algorithmus im Pseudocode in Anlehnung an das Code-Puzzle.
- Führe den Algorithmus am Objektdiagramm aus.
In-Order
- Betrachte das Objektdiagramm und gib die Reihenfolge an in der die Kontakte durchlaufen werden. Schreibe dazu die Reihenfolge der Benutzernamen auf.
- Formuliere einen Algorithmus im Pseudocode in Anlehnung an das Code-Puzzle.
- Führe den Algorithmus am Objektdiagramm aus.
Suchen in Binärbäumen
Im Binärbaum soll überprüft werden, ob ein bestimmtes Objekt enthalten ist.
- Modifiziere den Pre-Order-Algorithus so, dass überprüft wird, ob ein Objekt im Binärbaum enthalten ist. Die Methode soll
searchPreOrder
heißen undtrue
zurückgeben, wenn das Objekt pContent enthalten ist undfalse
, wenn dies nicht der Fall ist. - Teste deine Modifizierung am Objektdiagramm. Teste beide Fälle. Beginne damit, dass das Objekt enthalten ist.
- Analysiere wie viele Schritte im schlechtesten Fall nötig sind, um herauszufinden, ob ein Objekt enthalten ist.
- Überlege wie man den Binärbaum modifizieren könnte, sodass man schneller suchen kann.