Altklausur Flashcards
Welche Aussagen sind richtig? MergeSort…
1. …benötigt für das Sortieren von n Elementen im besten Fall O(n log n) Vergleiche.
2. …benötigt für das Sortieren von n Elementen im schlechtesten Fall Θ(n²) Vergleiche.
3. …sortiert rekursiv.
4. …’s Laufzeit ergibt sich als T(n) = T(2n) + T(2n)
Nummer 1 und 3 sind richtig.
Randomized QuickSort
Welche Aussagen sind richtig? Wir betrachten Randomized-QuickSort. Durch die zufällige Wahl des Pivot-Elements…
1. …kann für das Sortieren von n Elementen im besten Fall 1 Vergleich ausreichen.
2. …ist die erwartete Laufzeit für jede Eingabe O(n log n).
3. …verbessert sich die worst-case-Laufzeit auf O(n).
4. …sind im schlechtesten Fall Θ(n³) Vergleiche notwendig.
5. …kann die Laufzeit jeweils unterschiedlich sein, wenn der Algorithmus mit der gleichen Eingabe mehrfach aufgerufen wird.
Die Nummer 2 und 5 ist richtig.
Welche Aussagen sind richtig? Randomized-QuickSort…
1. …nutzt die Prozedur Randomized-Partition.
2. …nutzt die Prozedur Randomized-Sort.
3. Randomized-Partition wählt ein zufälliges Pivot-Element.
4. Randomized-Sort sortiert andere Elemente zufällig vor oder hinter das Pivot-Element.
Nummer 1 und 3 sind richtig.
Welche Aussagen sind richtig? Zu den Eigenschaften von Rot-Schwarz-Bäumen gehört:
1. Die Wurzel ist rot.
2. Alle Blätter sind schwarz.
3. Wenn ein Knoten rot ist, dann sind seine Kinder schwarz.
4. Auf allen Pfaden von der Wurzel aus zu jedem Blatt ist die Anzahl roter Knoten immer die gleiche.
Nummer 2 und 3 sind richtig.
Welche Aussagen sind richtig? Wir kennen einen Algorithmus, der Dynamisches Programmieren nutzt, um das Problem effizient zu lösen:
1. Produktionsband-Zeitplannung
2. Längste gemeinsame Teilsequenz
3. Rundreise
4. Rucksackproblem
Nummer 1 und 2 sind richtig.
Welche Aussagen sind richtig? Wir kennen einen greedy Algorithmus, der das Problem effizient löst:
1. Stabzerlegung
2. Längste gemeinsame Teilsequenz
3. Rundreise
4. Minimaler Spannbaum
Nummer 4 ist richtig.
Welche Aussagen sind richtig? Binäre Suche…
1. …in einem sortierten Feld der Länge n benötigt im besten Fall 1 Vergleich.
2. …in einem sortierten Feld der Länge n benötigt maximal O(log n) Vergleiche.
3. …angewandt auf eine sortierte einfach verkettete Liste hat im schlechtesten Fall Laufzeit O(log n).
4. …kann in einem nicht sortierten Feld nicht sinnvoll angewendet werden.
Nummer 1, 2 und 4 sind richtig.
Welche Aussagen sind richtig? Wenn in einem vollständig binären Baum mit Höhe > 2 von der Wurzel aus gesucht wird, dann gilt:
1. Die ersten beiden mittels Tiefensuche erreichten Knoten (nach der Wurzel) befinden sich in derselben Ebene.
2. Die ersten beiden mittels Breitensuche erreichten Knoten (nach der Wurzel) befinden sic in derselben Ebene.
3. Tiefensuche erreicht ein Blatt, bevor der zweite Nachfolger der Wurzel betrachtet wird.
4. Breitensuche erreicht ein Blatt, bevor der zweite Nachfolger der Wurzel betrachtet wird.
Nummer 2, 3 und 4 sind richtig.
Welche Aussagen sind richtig? CountingSort…
1. …benötigt für das Sortieren von n Elementen mindestens O(n log n ) Vergleiche.
2. …benötigt für das Sortieren von n Elementen O(n) Vergleiche.
3. …‘sLaufzeit hängt davon ab, wie groß das Größte zu sortierende Element ist.
4. … ist stabil.
Die Nummer 3 und 4 sind richtig.
Welche Aussagen sind richtig?
1. Ein binärer Suchbaum mit n Knoten hat immer die Höhe Theta(lg n)
2. Ein binärer Suchbaum mit n Knoten hat im schlechtesten Fall Höhe O(sqrt(n))
3. Die erwartete Tiefe eines zufälligen binären Suchbaums ist O(lg n)
4. Die Laufzeit für das Einfügen eines neuen Knoten ist Theta(1)
Die Nummer 3 ist richtig.
Wahr oder Falsch?
Ein Angreifer kann RandomizedQuickSort mit einem Array der Länge n füttern, dass den Algorithmus zu einer Laufzeit von w(n lg n) zwingt.
Falsch, RandomizedQuickSort hat weiterhin eine worst-case Laufzeit von O(n²).
Wahr oder Falsch?
HeapSort kann als Hilfssortieralgorithmus in RadixSort verwendet werden.
Falsch, RadixSort nutzt CountingSort als Hilfsalgorithmus.
Wahr oder Falsch?
Für f(n) = n gilt g(n) = O(sqrt(n)).
Falsch, sqrt(n) = n^(1/2) und der exponent 1/2 < 1, daher passt n nicht in O(sqrt(n)).
Wahr oder Falsch?
Durch die zufällige Wahl des Pivot-Elements bei RandomizedQuickSort verbessert sich die wort-case Laufzeit auf O(n).
Falsch, die Randomisierung verbessert nur die erwartete Laufzeit, verändert die worst-case Laufzeit also nicht. Diese bleibt weiterhin bei O(n²).
Wahr oder Falsch?
Die Wurzel von Schwarz-Rot-Bäumen ist rot?
Falsch, die Wurzel ist immer schwarz.