Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:sorting:bubblesort:start [06.02.2023 17:18] – angelegt Frank Schiebel | faecher:informatik:oberstufe:algorithmen:sorting:bubblesort:start [08.02.2023 08:47] (aktuell) – Frank Schiebel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Bubblesort ====== | ====== Bubblesort ====== | ||
- | Bubblesort ist ein einfacher und wenig performanter Sortieralgorithmus. | + | Bubblesort ist ein einfacher und wenig performanter Sortieralgorithmus. Um das Array zu sortieren, durchläuft Bubble Sort das gesamte Array und vergleicht dabei jeweils benachbarte Elemente (das i-te Element wird mit dem i+1-ten Element verglichen). Ist das folgende Element kleiner als das aktuelle Element, werden die beiden Elemente vertauscht. |
+ | |||
+ | Anschließend wird das Array erneut durchlaufen, | ||
+ | |||
+ | {{ : | ||
---- | ---- | ||
Zeile 9: | Zeile 13: | ||
=== (A1) === | === (A1) === | ||
- | Hole dir die Bluej-Vorlage von https:// | + | * Wieviele Vertauschungen haben stattgefunden, |
+ | * Was geschieht bei jedem Durchlauf des Arrays jeweils? Kannst du erklären, woher der Name des Verfahrens kommen könnte? | ||
+ | * Gibt es eine " | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | |||
+ | === (A2) === | ||
+ | |||
+ | * Hole dir die Bluej-Vorlage von https:// | ||
+ | * Implementiere Bubble-Sort zunächst mit zwei for-Schleifen, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * Ergänze deine Implementation um die Ausgabe eines Zwischenstatus nach jeweils einem ganzen Array-Durchlauf. Gib in der zweiten Spalte die Zahl der im letzten Durchlauf durchgeführten Vertauschungen an:((Die rote Färbung hat hier keine Bedeutung)) | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * Welcher Aufwand wird im //Worst Case// nötig - gib den Aufwand in O-Notation an. Finde eine Eingabe, die für Bubble Sort einen solchen Worst Case darstellt. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | |||
+ | === (A3) === | ||
+ | |||
+ | Shakersort (auch als " | ||
+ | Bubblesort. Während Bubblesort das Array immer von links nach rechts bearbeitet, wechselt Shakersort nach jedem Durchgang die Richtung | ||
+ | |||
+ | * Begründe, warum das Array {2, 3, 4, 5, ... , 99, 100, 1 } für Bubblesort einen Worst Case in Bezug auf die Anzahl der Vergleiche darstellt, für Shakersort aber nicht. | ||
+ | * Kopiere die Bubble-Sort Klasse und implementiere Shakersort. Shakersort soll abbrechen, sobald ein Durchgang ohne Vertauschungen abgeschlossen wurde. |