• Keine Ergebnisse gefunden

Übungen Algorithm Engineering - Blatt 1

N/A
N/A
Protected

Academic year: 2021

Aktie "Übungen Algorithm Engineering - Blatt 1"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Ü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

Referenzen

ÄHNLICHE DOKUMENTE

„Wenn hier einer Anna nass macht“... Berechnung

Um einen worst-case effizienten Heap-Speicher mit maximal zwei perfekten Weak-Heaps ei- ner Höhe zu bauen, benötigt man ein redundantes Zahlensystem, in dem Einfügungen von Weak-

Finden Sie alle Vorkommen (absolute Indizes) des Wortes love in fortune (a) mit dem naiven O(nm) Algorithmus zur Mustererkennung in Texten.. (b) mit dem Algorithmus von

(c) Beschreiben Sie, wie man in einem Suffixbaum nach allen Teilzeichen- ketten suchen kann, die lexikographisch zwischen zwei Zeichenketten m 1?. und m 2 fallen, z.B., liegt

(a) Abhängigkeitsgraphen für die approximative Zeichenkettensuche (b) Spurgraphen für die

Sie können es auch mit einem Zettel und einem Stift versuchen. Hinweis: Die Lösungslänge

  Beispiel für einen eleganten Algorithmus, der auf einer effizienten Datenstruktur (dem Heap) beruht [Williams, 1964].   Daten liegen in einem Array der Länge

a) Mit Hilfe von Stapeln kann man den Algortihmus quicksort ohne rekursive Aufrufe implementieren. Formulieren Sie dies im Pseudocode... b) Geben Sie eine Variante an, die nur