mirror of
https://gitlab.com/harald.mueller/aktuelle.kurse.git
synced 2024-11-27 20:21:56 +01:00
muh
This commit is contained in:
parent
d61223f5e0
commit
2ff3eef441
@ -18,28 +18,26 @@ eine Zeile, …) damit man sehen kann, wie sich der Algorithmus verhält und sic
|
|||||||
die Resultate entwickeln.
|
die Resultate entwickeln.
|
||||||
|
|
||||||
|
|
||||||
Bewertung:
|
Bewertung: Keine, ist aber prüfungsrelevant
|
||||||
|
|
||||||
Keine, ist aber prüfungsrelevant
|
|
||||||
|
|
||||||
**Der Bubblesort**
|
### Der Bubblesort
|
||||||
|
|
||||||
**Lernziele:**
|
**Lernziele:**
|
||||||
|
|
||||||
- Sie haben das Prinzip des Bubblesort verstanden
|
- Sie haben das Prinzip des Bubblesort verstanden
|
||||||
|
|
||||||
- Sie können eine Aussage über die Effizienz des Bubblesorts machen
|
- Sie können eine Aussage über die Effizienz des Bubblesorts machen
|
||||||
|
|
||||||
**1 Sortieren in Schritten**
|
#### 1 Sortieren in Schritten
|
||||||
|
|
||||||
Für die folgenden Aufgaben brauchen Sie Papierschnitzel mit den unten stehenden
|
Für die folgenden Aufgaben brauchen Sie Papierschnitzel mit den unten stehenden
|
||||||
Zahlen:
|
Zahlen:
|
||||||
|
|
||||||
**51, 13, 9, 44, 18, 93, 25**
|
**51, 13, 9, 44, 18, 93, 25**
|
||||||
|
|
||||||
Schreiben Sie diese Zahlen auf Notizpapier auf und zerschneiden Sie es.
|
Schreiben Sie diese Zahlen auf Notizpapier auf und schreiben Sie die Entwicklung des BubbleSort Zeile für Zeile untereinander auf.
|
||||||
|
|
||||||
**1.1 Aufgabe: Sortieren nach Grösse**
|
##### 1.1 Aufgabe: Sortieren nach Grösse
|
||||||
|
|
||||||
Sortieren Sie die Papierschnitzel ausgehend von der obigen Reihenfolge der
|
Sortieren Sie die Papierschnitzel ausgehend von der obigen Reihenfolge der
|
||||||
Grösse nach aufsteigend, so dass die kleinste Zahl links und die grösste rechts
|
Grösse nach aufsteigend, so dass die kleinste Zahl links und die grösste rechts
|
||||||
@ -47,14 +45,14 @@ zu liegen kommt.
|
|||||||
|
|
||||||
- Können Sie beschreiben, wie Sie vorgegangen sind?
|
- Können Sie beschreiben, wie Sie vorgegangen sind?
|
||||||
|
|
||||||
**1.2 Aufgabe: nur benachbarte Schnipsel vertauschen**
|
##### 1.2 Aufgabe: nur benachbarte Schnipsel vertauschen
|
||||||
|
|
||||||
Bringen Sie die Papierschnipsel wieder in die Ausgangssituation und sortieren
|
Bringen Sie die Papierschnipsel wieder in die Ausgangssituation und sortieren
|
||||||
Sie zum zweiten Mal der Grösse nach aufsteigend. Aber: dieses Mal ist nur eine
|
Sie zum zweiten Mal der Grösse nach aufsteigend. Aber: dieses Mal ist nur eine
|
||||||
**einzige Operation** auf den Papierschnipsel erlaubt, und zwar dürfen Sie nur
|
**einzige Operation** auf den Papierschnipsel erlaubt, und zwar dürfen Sie nur
|
||||||
jeweils zwei benachbarte Schnipsel vertauschen.
|
jeweils zwei benachbarte Schnipsel vertauschen.
|
||||||
|
|
||||||
**1.3 Aufgabe: systematisch von links nach rechts**
|
##### 1.3 Aufgabe: systematisch von links nach rechts
|
||||||
|
|
||||||
Bringen Sie die Papierschnipsel wieder in die Ausgangssituation und sortieren
|
Bringen Sie die Papierschnipsel wieder in die Ausgangssituation und sortieren
|
||||||
Sie sie wieder durch Vertauschen von Nachbarn, aber wählen Sie diesmal die
|
Sie sie wieder durch Vertauschen von Nachbarn, aber wählen Sie diesmal die
|
||||||
@ -75,7 +73,7 @@ beim letzten Paar ganz rechts angekommen sind.
|
|||||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
|
|
||||||
**2 Definition Bubblesort-Algorithmus**
|
#### 2 Definition Bubblesort-Algorithmus
|
||||||
|
|
||||||
Der Bubblesort-Algorithmus sortiert eine Liste von Elementen aufsteigend, indem
|
Der Bubblesort-Algorithmus sortiert eine Liste von Elementen aufsteigend, indem
|
||||||
er so lange von links nach rechts durch die Liste geht und benachbarte Elemente
|
er so lange von links nach rechts durch die Liste geht und benachbarte Elemente
|
||||||
@ -86,15 +84,15 @@ Als Flussdiagramm:
|
|||||||
|
|
||||||
![](media/0bf179a2c5f431b207fe5c6804bbcfab.jpg)
|
![](media/0bf179a2c5f431b207fe5c6804bbcfab.jpg)
|
||||||
|
|
||||||
**2 Effizienz von Bubblesort**
|
#### 3 Effizienz von Bubblesort
|
||||||
|
|
||||||
**2.1 Anzahl Durchgänge**
|
##### 3.1 Anzahl Durchgänge
|
||||||
|
|
||||||
Überlegen Sie sich, wie viele Durchgänge von links nach rechts maximal nötig
|
Überlegen Sie sich, wie viele Durchgänge von links nach rechts maximal nötig
|
||||||
sind, um eine Liste mit *n* Elementen zu sortieren. Sortieren Sie folgende Liste
|
sind, um eine Liste mit *n* Elementen zu sortieren. Sortieren Sie folgende Liste
|
||||||
mit dem Bubblesort-Algorithmus und schreiben Sie sämtliche Zwischenschritte auf:
|
mit dem Bubblesort-Algorithmus und schreiben Sie sämtliche Zwischenschritte auf:
|
||||||
|
|
||||||
97 15 33 28 25 11 73
|
97, 15, 33, 28, 25, 11, 73
|
||||||
|
|
||||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||
@ -109,7 +107,7 @@ landet mindestens eine der Zahlen an seinem definitivem Platz (es genügen sogar
|
|||||||
*n-1* Durchgänge, weil die letzte Zahl keinen Nachbar mehr hat, mit dem sie
|
*n-1* Durchgänge, weil die letzte Zahl keinen Nachbar mehr hat, mit dem sie
|
||||||
vertauscht werden könnte).
|
vertauscht werden könnte).
|
||||||
|
|
||||||
**2.2 Anzahl Vergleichsoperationen**
|
##### 3.2 Anzahl Vergleichsoperationen
|
||||||
|
|
||||||
In einer Liste mit *n* Zahlen gibt es *n*-1 Paare von benachbarten Zahlen, die
|
In einer Liste mit *n* Zahlen gibt es *n*-1 Paare von benachbarten Zahlen, die
|
||||||
bei einem Durchgang verglichen werden müssen. Und wir haben höchstens *n*
|
bei einem Durchgang verglichen werden müssen. Und wir haben höchstens *n*
|
||||||
@ -118,14 +116,14 @@ Durchgänge. Somit sind *n*(*n*-1) Vergleichsoperationen maximal nötig.
|
|||||||
Wir können somit sagen, dass es ungefähr *n2* Vergleichsoperationen für eine
|
Wir können somit sagen, dass es ungefähr *n2* Vergleichsoperationen für eine
|
||||||
Liste mit n Elementen gibt.
|
Liste mit n Elementen gibt.
|
||||||
|
|
||||||
**2.3 Aufwand im besten und im schlechtesten Fall**
|
##### 3.3 Aufwand im besten und im schlechtesten Fall
|
||||||
|
|
||||||
Wenn die Liste bereits sortiert ist, vergleicht der Algorithmus alle *n-1*
|
Wenn die Liste bereits sortiert ist, vergleicht der Algorithmus alle *n-1*
|
||||||
benachbarten Zahlenpaare einmal und stellt fest, dass es nichts zu tun gibt.
|
benachbarten Zahlenpaare einmal und stellt fest, dass es nichts zu tun gibt.
|
||||||
Damit ist er fertig und es werden keine Zahlen vertauscht. Das ist der beste und
|
Damit ist er fertig und es werden keine Zahlen vertauscht. Das ist der beste und
|
||||||
schnellste Fall und benötigt *n-1* Vergleiche und 0 Vertauschungen.
|
schnellste Fall und benötigt *n-1* Vergleiche und 0 Vertauschungen.
|
||||||
|
|
||||||
**2.4 Aufgabe: der schlechteste Fall**
|
##### 3.4 Aufgabe: der schlechteste Fall**
|
||||||
|
|
||||||
Überlegen Sie sich die Effizienz im schlechtesten Fall (d.h. wenn eine Liste
|
Überlegen Sie sich die Effizienz im schlechtesten Fall (d.h. wenn eine Liste
|
||||||
absteigend sortiert ist und aufsteigend sortiert werden soll).
|
absteigend sortiert ist und aufsteigend sortiert werden soll).
|
||||||
|
Loading…
Reference in New Issue
Block a user