Randomisierte Algorithmen und Quicksort Flashcards

1
Q

Was ist eine Indikatorfunktion und wie ist sie definiert?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie funktioniert das inplace randomizen eines unsortierten Arrays?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie funktioniert Quicksort?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie funktioniert die Schlüsselroutine Partition von Quicksort?

A
  • Man nimmt den übergebenen Wert p (pivot) als anfang und q als Ende des Teilarrays.
  • Man geht jetzt von Punkt p zu jedem Element bis q
  • wenn ein Element kleiner ist packt man es eine Stelle vor p. Die nächste Zahl die kleiner als p ist wird zwei stellen vor p gestellt etc. * Am ende wird dann p mit dem Element getauscht, dass als letztes getauscht wurde
  • Jetzt sind alle Elemente links von p kleiner als p und alle rechts von p größer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Warum nutzt man randomisiertes Quicksort?

A

Quicksort hat einen Worst-Case von O(n^2) um diesen sehr unwahrscheinlich zu machen und nahezu immer eine durchschnittliche Verteilung zu haben wird der Input randomized somit hat man eine erwartete Laufzeit von O(n lg n)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was macht QuickSort zum “besten” Sortieralgorithmus?

A
  • QuickSort ist ein guter Mehrzweck-Sortieralgorithmus.
  • QuickSort ist in der Regel mehr als doppelt so schnell wie MergeSort
  • QuickSort profitiert im wesentlichen von code tuning.
  • QuickSort verhält sich auch mit caching und virtuellem Speicher gut
How well did you know this?
1
Not at all
2
3
4
5
Perfectly