\documentclass{bschlangaul-aufgabe} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 3}, Thematik = {Quicksort}, Referenz = 46114-2008-H.T2-A3, RelativerPfad = Examen/46114/2008/09/Thema-2/Aufgabe-3.tex, ZitatSchluessel = 46114:2008:09, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Teile-und-Herrsche (Divide-and-Conquer)}, EinzelpruefungsNr = 46114, Jahr = 2008, Monat = 09, ThemaNr = 2, AufgabeNr = 3, } Quicksort ist ein Sortierungsverfahren, das nach dem Divide-and-Conquer-Prinzip (Teile und Herrsche) arbeitet. Wir betrachten im Folgenden die Anwendung dieses Verfahrens zum Sortieren von Integerzahlen. Die Sortierung soll in aufsteigender Reihenfolge der Werte erfolgen. Wir nehmen dabei an, dass die zu sortierenden Zahlen in einem Feld fester Länge abgelegt sind. \index{Teile-und-Herrsche (Divide-and-Conquer)} \footcite{46114:2008:09} \begin{enumerate} %% % (a) %% \item Beschreiben Sie die Arbeitsweise des Divide-and-Conquer-Prinzips im allgemeinen Fall. Geben Sie dabei die Bedeutung der Schritte divide, conquer und combine an. %% % (b) %% \item Beschreiben Sie die Arbeitsweise des Algoritumus Quicksort. Geben Sie dabei an, worin die Schritte divide, conquer und combine im konkreten Fall bestehen. %% % (e) %% \item Geben Sie in C, C++ oder Java eine Implementierung des Algorithmus Quicksort an. Formulieren Sie die Implementierung als rekursive Funktion quicksort() und verwenden Sie das jeweils erste Element. des (Teil-)Feldes für die Aufteilung Verwenden Sie für Ihre Implementierung von quicksort() «lei Parameter: \begin{enumerate} \item das Feld, in dem die zu sortierenden Zahlen abgelogt sind: \item den Index des am weitesten links gelegenen Elementes des zu sortierenden Teilfeldes; \item den Index des am weitesten rechts gelegenen Elementes des zu sortierenden Teilfeldes. \end{enumerate} Erläutern Sie die Arbeitsweise Ihrer Implementierung. Kennzeichnen Sie die Schritte divide, conquer und combine des zugrundeliegenden Divide-and-Conquer-Prinzips. \end{enumerate} \end{document}