TU Ilmenau, Fakultät IA Institut TI, FG Automaten und Formale Sprachen Prof. Dr. M. Kunde, Dipl.-Inf. Sascha Grau http://www.tu-ilmenau.de/fakia/ea ws09.html Effiziente Algorithmen“ ” Übungsblatt 2, WS 09/10 Abgabe: Dienstag, den 03.11.2009, 16:30 Uhr, Briefkasten im Blechhaus, zweiter Stock Aufgabe 1 (Bottom-Up-Heapsort) (a) Führen Sie die Prozedur Bottom-Up-Heapsort aus der Vorlesung mit der Eingabe [2, 3, 4, 5, 6, 7, 8] aus und zählen Sie die Anzahl der Schlüsselvergleiche in der Aufbau und Wegnahmephase. (b) In der Vorlesung wurde die Anzahl der Vergleiche von Heapsort im Worst-Case bei n zu sortierenden Schlüsseln analysiert. Dabei wurde HSA (n) als die Anzahl der Vergleiche in der Aufbauphase und HSW (n) als die Anzahl der Vergleiche in der Wegnahmephase definiert. Zeigen Sie: HSA (n) ∈ O(n). Aufgabe 2 (Median) Seien X[1, . . . , n] und Y [1, . . . , n] zwei sortierte Felder natürlicher Zahlen. Geben Sie einen O(log n)-zeitbeschränkten Algorithmus an, der den unteren Median, d.h. das n-kleinste aller 2n Elemente ermittelt. Aufgabe 3 (BucketSort) Führen Sie BucketSort mit folgender Eingabe aus: efgh, gfeg, fegf, heggff, efg, hegf, egfegfg, eh, gege, fe, eheg, feg, ffeg, ggge, gefh Aufgabe 4 (Untere Schranke für Sortierung durch Mischen) Beweisen Sie, dass jeder vergleichsbasierte Algorithmus, der zwei beliebige, sortierte Folgen x1 ≤ x2 ≤ · · · ≤ xm und y1 ≤ y2 ≤ · · · ≤ yn−m mit m < n ∈ zu einer sortierten Folge vereinigt, im schlechtesten Fall mindestens n − 1 Vergleiche benötigt. N Aufgabe 5 (Untere Schranken) Zeigen Sie, dass kein vergleichsbasiertes Sortierverfahren existiert, das für mindestens die Hälfte der Eingaben mit n Schlüsseln lineare Zeit benötigt. Wie sieht es bei einem Anteil von 1/n oder 1/2n aus? Hinweis: Benutzen sie den Fakt, dass ln(n!) ≈ n + 21 ln(n) − n + 12 ln(2π).