MINT lernen

Übungen: Sortierverfahren vergleichen

Zehn Übungen zum Vergleichen der Sortierverfahren — von Eigenschaften bis zur begründeten Wahl.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Zehn Übungen zum Vergleich von Selectionsort, Insertionsort und Bubblesort — von Eigenschaften über Messwerte bis zur Wahl des passenden Verfahrens. Wenn Sie nicht weiterkommen, helfen die gestuften Tipps.

A1
Wer macht was?
AFB I

Ordnen Sie jede Eigenschaft dem Sortierverfahren zu, auf das sie (als einziges der drei) zutrifft.

Ziehen Sie jede Karte in den passenden Korb — oder wählen Sie sie mit Enter aus und drücken dann die Ziffer des Korbs (0 legt sie zurück).
1Selectionsort
2Insertionsort
3Bubblesort
Erkennungsmerkmale: Selectionsort sucht (Minimum) und tauscht selten, dafür über große Entfernungen — deshalb nicht stabil. Insertionsort verschiebt und fügt ein. Bubblesort tauscht Nachbarn und kann mit dem Flag abbrechen.
Ansatz: Überlegen Sie für jedes Verfahren: Was ist seine typische Handlung — suchen, einfügen oder Nachbarn tauschen?
Weiter: Nur ein Verfahren tauscht über weite Entfernungen; genau das macht es instabil.
A2
Stimmt's? — Fünferserie
AFB I

Nennen Sie zu jeder Aussage über die Vergleichskriterien, ob sie stimmt.

Fünf Aussagen nacheinander. Eine falsche Einschätzung reicht — dann starten Sie die Serie mit „Neue Runde“ neu.
Aussage 1 von 5

Die Vergleichskriterien im Überblick: Vergleiche, Umstellungen, Speicherbedarf (alle drei in-place), Stabilität und Verhalten bei vorsortierten Daten.
Ansatz: Achten Sie auf die genauen Fachbegriffe: in-place, stabil, Vergleich.
Weiter: Umgekehrt sortiert ist für Insertionsort und Bubblesort gleichermaßen der ungünstigste Fall.
A3
Bester und ungünstigster Fall
AFB I

Eine Reihung enthält die Zahlen 1 bis 10 — einmal aufsteigend, einmal absteigend sortiert. Geben Sie für jedes Verfahren die Anzahl der Vergleiche (V) und der Umstellungen (U) an. Bei Selectionsort zählt ein Tausch nur, wenn das Minimum nicht schon vorn steht.

Füllen Sie alle Felder aus und prüfen Sie dann. Enter in einem Feld prüft ebenfalls.
EingabeSelectionsortInsertionsortBubblesort (Abbruch)
VUVUVU
vorsortiert
umgekehrt
Selectionsort vergleicht immer \(\frac{10\cdot9}{2}=45\)-mal. Bei umgekehrter Eingabe tauscht es nur 5-mal: jeder Tausch bringt zwei Elemente gleichzeitig an ihren Platz (10↔1, 9↔2, …). Insertionsort und Bubblesort brauchen vorsortiert nur \(n-1=9\) Vergleiche und keine Umstellung, umgekehrt sortiert jeweils 45 Vergleiche und 45 Umstellungen.
Ansatz: Selectionsort vergleicht unabhängig von der Eingabe gleich oft. Bei den anderen beiden hilft eine sortierte Eingabe.
Weiter: Selectionsort mit 10 9 8 … 1: Runde 1 tauscht 1 und 10, Runde 2 tauscht 2 und 9 … — ab der Mitte steht alles schon richtig.
A4
Vom Messwert zur Prognose
AFB II

Ein Online-Shop sortiert 2 000 Bestellungen mit Bubblesort; im ungünstigsten Fall dauert das 0,8 s. Schätzen Sie, wie lange das Sortieren bei mehr Bestellungen im ungünstigsten Fall etwa dauert.

Rechnen Sie die Kette Schritt für Schritt: Erst wenn ein Schritt stimmt, wird der nächste freigeschaltet. Enter prüft. Dezimalzahlen mit Komma oder Punkt.
  1. Vergleiche bei n = 2 000 im ungünstigsten Fall Vergleiche
  2. geschätzte Zeit für n = 4 000 s
  3. geschätzte Zeit für n = 8 000 s
  4. geschätzte Zeit für n = 20 000 s
\(\frac{2000\cdot1999}{2}=1\,999\,000\). Doppelte Länge → etwa vierfache Zeit: \(0{,}8\,\text{s}\cdot4=3{,}2\,\text{s}\), noch einmal verdoppelt \(12{,}8\,\text{s}\). Zehnfache Länge → etwa hundertfache Zeit: \(0{,}8\,\text{s}\cdot100=80\,\text{s}\).
Ansatz: Die Zeit ist etwa proportional zur Zahl der Vergleiche, also zu \(n^2\).
Weiter: Faktor bei n: 2 → Faktor bei der Zeit 4; Faktor 10 → Faktor 100.
A5
Paarweise vertauscht
AFB II

Die Reihung {2, 1, 4, 3, 6, 5, 8, 7} soll aufsteigend sortiert werden. Vergleichen Sie die Verfahren nach der Anzahl der Vergleiche — von wenigen zu vielen.

Ziehen Sie die Karten in die richtige Reihenfolge — mit der Tastatur: ↑/↓ verschiebt, Shift+↑/↓ wechselt nur den Fokus.
1Mindestzahl n − 1 für eine sortierte Reihung
2Insertionsort
3Bubblesort mit Abbruch
4Selectionsort
Insertionsort: 1 + 1 + 2 + 1 + 2 + 1 + 2 = 10 — jedes Element wandert höchstens einen Platz. Bubblesort mit Abbruch: Durchlauf 1 behebt alle vier Fehlstände (7 Vergleiche), Durchlauf 2 prüft ohne Tausch (6) — 13. Selectionsort: immer 28. Untergrenze: 7.
Ansatz: Selectionsort hängt nicht von der Eingabe ab. Bei den anderen beiden: Wie weit steht jedes Element von seinem Platz entfernt?
Weiter: Bubblesort braucht nach dem Durchlauf, der alles richtig stellt, noch einen Kontrolldurchlauf.
A6
Schon sortiert — also schnell?
AFB II Trick

An einer Flussmessstelle liegen 50 Pegelwerte vor, die bereits aufsteigend sortiert sind. Sie werden trotzdem noch einmal mit Selectionsort sortiert. Berechnen Sie die Anzahl der Vergleiche.

Rechnen Sie selbst und tragen Sie das Ergebnis ein — Enter prüft direkt.
Selectionsort muss in jeder Runde den ganzen unsortierten Teil durchsehen, um sicher zu sein, dass das Minimum vorn steht — vorsortierte Daten helfen nicht: \(\frac{50\cdot49}{2}=1225\). Vertauscht wird allerdings kein einziges Mal. Insertionsort bräuchte nur 49 Vergleiche.
Ansatz: Die Falle: „Sortiert“ heißt bei Selectionsort nicht „weniger Arbeit“.
Weiter: Runde 1 vergleicht 49-mal, Runde 2 48-mal, … Summe \(\frac{n(n-1)}{2}\).
A7
Fehler im Referat
AFB II

Aus einem Referat über Sortierverfahren stammen die folgenden sechs Sätze. Überprüfen Sie jeden Satz und markieren Sie die falschen.

In diesem Text stecken Fehler. Klicken Sie genau die falschen Zeilen an — die richtigen müssen Sie stehen lassen.
Am häufigsten falsch: „doppelt so viele Daten, doppelt so viel Arbeit“. Das gilt nur für lineare Verfahren wie die lineare Suche — die drei Sortierverfahren wachsen im ungünstigsten Fall quadratisch.
Ansatz: Prüfen Sie jeden Satz an einem der Kriterien: Vergleiche, Umstellungen, Stabilität, vorsortierte Daten.
Weiter: Drei Sätze sind falsch — einer betrifft das Wachstum, zwei betreffen Selectionsort.
A8
Unbekanntes Verfahren X
AFB III

Ein Messstand hat für ein unbekanntes Verfahren X mit zufälligen Eingaben gemessen: n = 100: 4 950 Vergleiche, 97 Umstellungen; n = 200: 19 900 Vergleiche, 196 Umstellungen; n = 400: 79 800 Vergleiche, 395 Umstellungen. Beurteilen Sie, welche Schlussfolgerungen aus diesen Messwerten berechtigt sind.

Mehrere Antworten sind richtig. Markieren Sie alle zutreffenden und klicken Sie dann auf „Auswahl prüfen“.
\(19\,900:4950\approx4{,}02\) und \(79\,800:19\,900\approx4{,}01\); zudem ist \(\frac{100\cdot99}{2}=4950\). Immer genau der Höchstwert bei zufälligen Daten und weniger als n Umstellungen — das ist Selectionsort. Insertionsort bräuchte bei zufälligen Daten nur etwa \(\frac{n^2}{4}\) Vergleiche und ebenso viele Verschiebungen. Für n = 800 erwartet man \(\frac{800\cdot799}{2}=319\,600\) Vergleiche. Die Umstellungen wachsen linear.
Ansatz: Bilden Sie die Quotienten aufeinanderfolgender Messwerte — einmal für die Vergleiche, einmal für die Umstellungen.
Weiter: Welches der drei Verfahren vergleicht auch bei zufälligen Daten immer gleich oft, vertauscht aber selten?
A9
Lohnt sich das Sortieren?
AFB III Mix

In einer unsortierten Reihung mit 1 000 Artikelnummern wird häufig gesucht. Die lineare Suche braucht im ungünstigsten Fall 1 000 Vergleiche. Alternativ sortiert man einmal mit Insertionsort (ungünstigster Fall) und sucht danach binär mit höchstens 10 Vergleichen. Ermitteln Sie, ab wie vielen Suchvorgängen die zweite Variante im ungünstigsten Fall insgesamt weniger Vergleiche braucht.

Rechnen Sie selbst und tragen Sie das Ergebnis ein — Enter prüft direkt.
Sortieren kostet höchstens \(\frac{1000\cdot999}{2}=499\,500\) Vergleiche. Bei k Suchvorgängen: \(499\,500+10k<1000k\;\Leftrightarrow\;990k>499\,500\;\Leftrightarrow\;k>504{,}5\). Ab 505 Suchen lohnt sich das Sortieren — bei wenigen Suchen ist die lineare Suche günstiger.
Ansatz: Stellen Sie die Gesamtzahl der Vergleiche beider Varianten für k Suchvorgänge als Term auf.
Weiter: Ungleichung \(499\,500+10k<1000k\) nach k auflösen — und auf eine ganze Zahl achten.
A10
Welches Verfahren wann?
AFB III

Entscheiden Sie sich für jeden Anwendungsfall begründet für das geeignetste Verfahren.

Wählen Sie in jedem Menü den passenden Eintrag und prüfen Sie dann alle auf einmal.

Eine sortierte Bestenliste bekommt einen neuen Eintrag hinten angehängt und wird neu sortiert; wie gut er ist, weiß man vorher nicht.

Die Daten liegen auf einem Speicher, der sich bei jedem Schreibzugriff abnutzt.

Eine nach Namen sortierte Schülerliste soll nach Klassen sortiert werden; innerhalb einer Klasse soll die Namensreihenfolge bleiben, und es soll wenig geschrieben werden.

Die Eingabe ist umgekehrt sortiert, und es kommt nur auf die Zahl der Vergleiche an.

Bestenliste: Insertionsort fügt den neuen Eintrag mit höchstens \(n-1\) Vergleichen ein; Bubblesort bräuchte für einen sehr guten Eintrag alle Durchläufe (er wandert nur einen Platz pro Durchlauf nach vorn). Speicher: Selectionsort mit höchstens \(n-1\) Vertauschungen. Schülerliste: stabil nötig — Insertionsort oder Bubblesort; Insertionsort schreibt pro Umstellung nur einen Platz. Umgekehrt sortiert: alle drei brauchen \(\frac{n(n-1)}{2}\) Vergleiche.
Ansatz: Klären Sie für jeden Fall zuerst, welches Kriterium zählt: Vergleiche, Schreibzugriffe, Stabilität oder Vorsortierung.
Weiter: Bei der Bestenliste: Ein sehr guter neuer Eintrag muss von ganz hinten nach ganz vorn — welches Verfahren schafft das in einem Schritt?