1.Leicht
Was ist der Basisfall einer rekursiven Funktion?
- AEin Fall, der direkt beantwortet wird, ohne einen weiteren rekursiven Aufruf
- BDer Aufruf, der am meisten Speicher verbraucht
- CDer Fall mit der größten Eingabe, der vor allen rekursiven Aufrufen behandelt wird
- DDie erste Zeile der Funktion
2.Leicht
Was ist Rekursion?
- AEine Funktion, die sich selbst mit kleineren Eingaben aufruft
- BEin Sortierverfahren
- CEine Schleife, die nie endet
- DEine Art von Datenstruktur
3.Leicht
Welcher Sortieralgorithmus vertauscht wiederholt benachbarte Elemente, die in der falschen Reihenfolge stehen?
- AHeapsort
- BQuicksort
- CMergesort
- DBubblesort
4.Mittel
Welche Aussage über eine rekursive Funktion ohne erreichbaren Basisfall ist richtig?
- ADer Compiler wandelt sie immer in eine Schleife um, die sicher endet
- BSie gibt automatisch 0 zurück
- CSie läuft in O(1) Zeit
- DSie ruft sich immer weiter selbst auf, bis der Aufrufstack überläuft
5.Mittel
Warum wechseln viele Sortierroutinen in Bibliotheken bei sehr kleinen Teilarrays zu Insertionsort?
- AInsertionsort hat wenig Overhead und ist bei kleinen oder fast sortierten Eingaben schnell
- BInsertionsort ist im Worst Case O(n log n)
- CRekursive Algorithmen können Arrays mit weniger als 10 Elementen nicht verarbeiten
- DInsertionsort braucht bei großen Eingaben weniger Speicher als jeder andere Sortieralgorithmus
6.Mittel
Dynamische Programmierung ist nützlich, wenn ein Problem Folgendes aufweist:
- ANur zufällige Eingaben
- BEine einzige Schleife
- CÜberhaupt keine Teilprobleme, sodass es in einem Schritt lösbar ist
- DÜberlappende Teilprobleme und optimale Teilstruktur
7.Schwer
Wie erkennt der Bellman-Ford-Algorithmus einen vom Startknoten erreichbaren Kreis mit negativem Gewicht?
- AEr prüft, ob irgendeine Kante ein negatives Gewicht hat
- BNach V − 1 Runden prüft er, ob sich noch eine Kante relaxieren lässt
- CEr zählt die Kreise mit einer Tiefensuche
- DEr führt den Dijkstra-Algorithmus zweimal aus und vergleicht die beiden Distanzergebnisse
8.Schwer
Nach dem Master-Theorem hat T(n) = 8T(n/2) + O(n²) die Lösung:
- AΘ(n²)
- BΘ(n³)
- CΘ(n log n)
- DΘ(n² log n)
Lösungsschlüssel
- 1. A · Ein Fall, der direkt beantwortet wird, ohne einen weiteren rekursiven Aufruf
- 2. A · Eine Funktion, die sich selbst mit kleineren Eingaben aufruft
- 3. D · Bubblesort
- 4. D · Sie ruft sich immer weiter selbst auf, bis der Aufrufstack überläuft
- 5. A · Insertionsort hat wenig Overhead und ist bei kleinen oder fast sortierten Eingaben schnell
- 6. D · Überlappende Teilprobleme und optimale Teilstruktur
- 7. B · Nach V − 1 Runden prüft er, ob sich noch eine Kante relaxieren lässt
- 8. B · Θ(n³)
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.