\documentclass{bschlangaul-aufgabe} \bLadePakete{java} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 4}, Thematik = {händisch sortieren, implementieren, Komplexität}, Referenz = 46115-2017-F.T2-A4, RelativerPfad = Examen/46115/2017/03/Thema-2/Aufgabe-4.tex, ZitatSchluessel = examen:46115:2017:03, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Bubblesort}, EinzelpruefungsNr = 46115, Jahr = 2017, Monat = 03, ThemaNr = 2, AufgabeNr = 4, } Bei Bubblesort wird eine unsortierte Folge von Elementen $a_1, a_2,\dots, a_n$, von links nach rechts durchlaufen, wobei zwei benachbarte Elemente $a_i$ und $a_{i + 1}$ getauscht werden, falls sie nicht in der richtigen Reihenfolge stehen. Dies wird so lange wiederholt, bis die Folge sortiert ist. \index{Bubblesort} \footcite{examen:46115:2017:03} \begin{enumerate} %% % a) %% \item Sortieren Sie die folgende Zahlenfolge mit Bubblesort. Geben Sie die neue Zahlenfolge nach jedem (Tausch-)Schritt an: $3$, $2$, $4$, $1$ \begin{bAntwort} \begin{verbatim} 3 2 4 1 Eingabe 3 2 4 1 Durchlauf Nr. 1 >3 2< 4 1 vertausche (i 0<>1) 2 3 >4 1< vertausche (i 2<>3) 2 3 1 4 Durchlauf Nr. 2 2 >3 1< 4 vertausche (i 1<>2) 2 1 3 4 Durchlauf Nr. 3 >2 1< 3 4 vertausche (i 0<>1) 1 2 3 4 Durchlauf Nr. 4 1 2 3 4 Ausgabe \end{verbatim} \end{bAntwort} %% % b) %% \item Geben Sie den Bubblesort-Algorithmus für ein Array von natürlichen Zahlen in einer Programmiersprache Ihrer Wahl an. Die Funktion \bJavaCode{swap (index1, index2)} kann verwendet werden, um zwei Elemente des Arrays zu vertauschen. \begin{bAntwort} \bJavaExamen{46115}{2017}{03}{BubbleSort} \bPseudoUeberschrift{Test} \bJavaTestDatei{examen/examen_46115/jahr_2017/fruehjahr/BubbleSortTest} \end{bAntwort} %% % c) %% \item Geben Sie eine obere Schranke für die Laufzeit an. Beschreiben Sie mögliche Eingabedaten, mit denen diese Schranke erreicht wird. \begin{bAntwort} $\mathcal{O}(n^2)$ Diese obere Schranke wird erreicht, wenn die Zahlenfolgen in der umgekehrten Reihenfolge bereits sortiert ist, \zB 4, 3, 2, 1. \end{bAntwort} \end{enumerate} \end{document}