Übungen Algorithm Engineering - Blatt 1
Abgabe 20.4.2010, Besprechung 21.4.2010
1. (Min & 2nd-Min Problem)
In einem Array mitnbeliebigen Zahlen soll das kleinste und das zweit-kleinste Element gefunden werden. Der Einfachheit halber sein= 2k.
(a) Beschreiben Sie ein einfaches Scan-Line Verfahren, das höchstens2nVergleiche zur Lösung des Problems benötigt.
(b) Beschreiben Sie ein (Tournament Tree) Verfahren, dasn+ logn−2Vergleiche zur Lösung des Problems benötigt.
(c) Nutzen Sie Weak-Heaps, um das Problem elegant mitn+ logn−2Vergleichen zu lösen.
(d) Argumentieren Sie, dass mindestensn+ logn−2Vergleiche notwendig sind, um das Problem zu lösen.
2. (Minimum Comparison Sort)
Die untere Schranke für Sortierverfahren fordert bei 5 Elementen mindestens 7 Vergleiche, während Insertion SortB(5) = 8Vergleiche benötigt.
(a) Stellen sie dlogn!eden Werten von B(n) = Pn
i=1dlogie = ndlogne −2dlogne + 1 für n= 1, . . . ,20gegenüber.
(b) Zeigen Sie, wie 7 Vergleiche zur Sortierung von 5 Elementen ausreichen.
(c) Überlegen Sie, wie ihr Ansatz zu verallgemeinern ist.
(d) Eine Verallgemeinerung führt zu einer worst-case Komplexität vonF(n) = Pn
i=1dlog 3i/4e Vergleichen. Stellen siedlogn!eden Werten vonF(n)fürn= 1, . . . ,20gegenüber.
(e) Maximieren SieF(n) =nlogn−(3−log 3)n+n(Θ + 1−2Θ) +O(logn)bzgl.Θ∈[0..1], um den Vorfaktor innlogn−cn+O(logn)zu bestimmen.
3. (Adaptive Heapsort)
(a) Programmieren Sie die Konstruktion einesCartesischen Baums aus einem Array vonnEle- menten mit Hilfe von maximal drei Zeiger, der zum adaptiven Heapsort (Adaptive Heapsort) benötigt wird. Prüfen Sie, ob ihrem Algorithmus2n−3Vergleiche reichen.
(b) Zeigen Sie, dassAdaptive Heapsort(auf nicht vorsortierten Daten) damit eine worst-case Kom- plexität von3nlogn+O(n)Vergleichen hat.
(c) Reduzieren Sie die Laufzeit auf2.5nlogn+O(n)Vergleiche durch die Zusammenfassung von InsertundDeleteMinOperationen.
(d) Schließen Sie, dassAdaptive Weak-Heapsort(auf nicht vorsortierten Daten) eine Vergleichsan- zahl von maximal1.5nlogn+O(n)hat.
(e) Recherchieren Sie, mit welcher DatenstrukurAdaptive Heapsorteine worst-case Vergleichsan- zahl vonnlogn+O(n)möglich ist.
1