1.Leicht
Welche Laufzeit hat Countingsort für n ganze Zahlen im Bereich 0 bis k?
- AO(n log n)
- BO(n + k)
- CO(n²)
- DO(k log n)
2.Leicht
Die Laufzeit eines Algorithmus ist O(n). Wie nennt man dieses Wachstum?
- AQuadratisch
- BLogarithmisch
- CKonstant
- DLinear
3.Leicht
Welche dieser Funktionen wächst für große n am langsamsten?
- AO(n)
- BO(n log n)
- CO(log n)
- DO(n²)
4.Mittel
Warum wechseln viele Sortierroutinen in Bibliotheken bei sehr kleinen Teilarrays zu Insertionsort?
- AInsertionsort braucht bei großen Eingaben weniger Speicher als jeder andere Sortieralgorithmus
- BInsertionsort ist im Worst Case O(n log n)
- CInsertionsort hat wenig Overhead und ist bei kleinen oder fast sortierten Eingaben schnell
- DRekursive Algorithmen können Arrays mit weniger als 10 Elementen nicht verarbeiten
5.Mittel
Welcher Algorithmus findet die kürzesten Wege von einem Startknoten in einem Graphen mit nichtnegativen Kantengewichten?
- AKruskal-Algorithmus
- BDijkstra-Algorithmus
- CTiefensuche (DFS)
- DBellman-Ford ist in allen Fällen erforderlich
6.Mittel
Welche Zeitkomplexität hat der Bellman-Ford-Algorithmus auf einem Graphen mit V Knoten und E Kanten?
- AO(E log V)
- BO(V × E)
- CO(V³ × E)
- DO(V + E)
7.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)
8.Schwer
Warum ist eine Suche in einer Hashtabelle im Durchschnitt O(1), im Worst Case aber O(n)?
- ASchlüssel müssen zuerst sortiert werden
- BViele Schlüssel können im selben Bucket kollidieren
- CArrays haben O(n) Zugriffszeit
- DHashfunktionen sind langsam
Lösungsschlüssel
- 1. B · O(n + k)
- 2. D · Linear
- 3. C · O(log n)
- 4. C · Insertionsort hat wenig Overhead und ist bei kleinen oder fast sortierten Eingaben schnell
- 5. B · Dijkstra-Algorithmus
- 6. B · O(V × E)
- 7. A · Θ(n³)
- 8. B · Viele Schlüssel können im selben Bucket kollidieren
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.