Sie sind auf Seite 1von 2

Prof. Dr. Sevag Gharibian 12.

Mai 2022
u.v.a. Abgabe: 23. Mai 2022, 10:59 MESZ (in PANDA)

Datenstrukturen und Algorithmen


Sommersemester 2022
Heimübung 6

Hinweise: Geben Sie die Lösung online über PANDA als PDF ab. Nutzen Sie hierzu am Besten
LATEX (In PANDA finden Sie eine Vorlage). Eingescannte, handschriftliche Lösungen sind eben-
falls möglich, solange sie gut lesbar sind. Unleserliche Abgaben führen zu Punktabzug.
Sie können in einer Gruppe mit bis zu 4 Teilnehmern abgeben. Schreiben Sie die Namen und
(Uni-)Mail-Adressen aller Gruppenmitglieder gut sichtbar in ihre Abgabe.

AUFGABE 1 (5 Punkte):
Angenommen, die Funktion Partiton teilt Teilarrays der Größen n immer in zwei Teilarrays auf,
von denen eines (1 − α) · n Elemente und das andere α · n Elemente enthält, mit 21 ≤ α < 1. Geben
Sie die Rekursionsgleichung für die Laufzeit von Quicksort unter dieser Annahme an und leiten
Sie (ohne Verwendung des Master Theorems) eine geschlossene Form her. Geben Sie zusätzlich
die Laufzeit im O-Kalkül in Abhängigkeit von α und n an.

AUFGABE 2 (6 Punkte):
Illustrieren Sie die Operationen von CountingSort auf dem Array A = [6, 0, 2, 0, 1, 3, 4, 6, 1, 3, 2].
Orientieren Sie sie sich hierzu das Schema aus der Vorlesung (Kapitel 9, Folien 5 - 45) und geben
Sie den Inhalt der Arrays B und C an.

Beachten Sie folgende Hinweise zur einfacheren Notation:

a) Geben Sie zunächst den Inhalt von C jeweils nach dem letzten Durchlauf ersten drei Schlei-
fen an. Die ersten drei Schleifen befinden sich im Pseudocode auf Folie 4 in den Zeilen 1 -
2, 3 - 4 und 6-7.

b) Geben Sie danach den Inhalt von B und C jeweils nach jedem Durchlauf der vierten Schleife
an. Die vierte Schleife befindet sich im Pseudocode auf Folie 4 in den Zeilen 9 bis 11.

AUFGABE 3 (4 Punkte):
Attilla, Till und Xaviér haben in den letzten Wochen zu viel Zeit in dubiosen Internetforen und
Telegram-Gruppen verbracht. Dadurch haben Sie den Anfang des Sommersemesters verpasst.
Mittlerweile gehen sie aber wieder zur Vorlesung und haben gleich eine bahnbrechende Idee
gehabt. Sei haben den Algorithmus AwesomeAlgo entwickelt, der folgende drei Eigenschaften
erfüllt:

• AwesomeAlgo entfernt das Maximum aus einem Heap, gibt es zurück und stellt danach die
Heap-Eigenschaft wieder her.

• AwesomeAlgo benutzt nur Vergleiche, Zuweisungen, Bedingte Verzweigungen und Schlei-


fen.
• AwesomeAlgo läuft in konstanter Zeit.

Beweisen Sie, dass Attilla, Till und Xaviér wenig durchdachten Unsinn erzählen, indem Sie zeigen,
dass AwesomeAlgo nicht existieren kann.
Hinweis: Überlegen Sie sich, wie man mit Hilfe von AwesomeAlgo ein sehr schnellen Sortieral-
gorithmus entwerfen könnte und warum dies unmöglich ist.

Das könnte Ihnen auch gefallen