Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:suchen_und_sortieren:sortieren [2024-03-07 14:21] – [C6 (Herausforderung): Laufzeit-Analyse] hof | gf_informatik:suchen_und_sortieren:sortieren [2025-03-15 21:18] (aktuell) – [Aufgabe C4: Selection Sort anwenden] hof | ||
---|---|---|---|
Zeile 100: | Zeile 100: | ||
Hier dasselbe für [[gf_informatik: | Hier dasselbe für [[gf_informatik: | ||
- | |||
#### Aufgabe C4: Selection Sort anwenden | #### Aufgabe C4: Selection Sort anwenden | ||
Du hast folgende beiden Listen: | Du hast folgende beiden Listen: | ||
Zeile 118: | Zeile 117: | ||
- | < | + | < |
++++Lösung| | ++++Lösung| | ||
<code python> | <code python> | ||
Zeile 183: | Zeile 182: | ||
* Insgesamt führen wir $\frac{n\cdot(n-1)}{2}$ Vergleiche aus. | * Insgesamt führen wir $\frac{n\cdot(n-1)}{2}$ Vergleiche aus. | ||
- | Es wird jedes Element mit jedem anderen verglichen. Intuitiv scheint es möglich, mit weniger Vergleichen auszukommen. Wenn wir wissen, dass `x > y` und `y > z` ist, so müssten wir eigentlich `x` nicht mehr mit `z` vergleichen. Aber wieviele Vergleiche sind mindestens notwendig? Können wir einen **Divide & Conquer** Ansatz wie bei der Binärsuche verwenden | + | Es wird jedes Element mit jedem anderen verglichen. Intuitiv scheint es möglich, mit weniger Vergleichen auszukommen. Wenn wir wissen, dass `x > y` und `y > z` ist, so müssten wir eigentlich `x` nicht mehr mit `z` vergleichen. Aber wieviele Vergleiche sind mindestens notwendig? Können wir einen **Divide & Conquer** Ansatz wie bei der Binärsuche verwenden? |
- | ? | + | |
#### C7 (Herausforderung): | #### C7 (Herausforderung): | ||
Zeile 196: | Zeile 195: | ||
* auf jeder Rekursions-Ebene werden `n` Vergleiche getätigt (verteilt auf alle Teillisten). | * auf jeder Rekursions-Ebene werden `n` Vergleiche getätigt (verteilt auf alle Teillisten). | ||
* wir benötigen ca. $log_2(n)$ Halbierungen, | * wir benötigen ca. $log_2(n)$ Halbierungen, | ||
- | | + | |
Hm, ist $n\cdot{}log(n)$ viel besser als $\frac{n^2}{2}$? | Hm, ist $n\cdot{}log(n)$ viel besser als $\frac{n^2}{2}$? | ||
Zeile 217: | Zeile 216: | ||
++++ | ++++ | ||
- | < | + | < |
++++Lösung| | ++++Lösung| | ||
<code python quicksort.py> | <code python quicksort.py> |