Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:sortieren:start [20.02.2020 15:59] – angelegt sbel | faecher:informatik:oberstufe:algorithmen:sortieren:start [24.01.2022 23:09] – [Wann ist ein Array sortiert?] sbel | ||
---|---|---|---|
Zeile 39: | Zeile 39: | ||
<box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> | ||
- | {{ | + | {{ |
Beschreibe den Unterschied zwischen einem Inhaltsverzeichnis und dem Index eines | Beschreibe den Unterschied zwischen einem Inhaltsverzeichnis und dem Index eines | ||
Buches bezüglich der Reihenfolge der Einträge. | Buches bezüglich der Reihenfolge der Einträge. | ||
Zeile 51: | Zeile 51: | ||
Einträge sind in erster Linie nach der Ortschaft sortiert, innerhalb einer Ortschaft nach Name, bei gleichen Namen nach Vorname. | Einträge sind in erster Linie nach der Ortschaft sortiert, innerhalb einer Ortschaft nach Name, bei gleichen Namen nach Vorname. | ||
<box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> | ||
- | {{ | + | {{ |
In welcher Reihenfolge stehen folgende Namen im Telefonbuch? | In welcher Reihenfolge stehen folgende Namen im Telefonbuch? | ||
Zeile 77: | Zeile 77: | ||
<box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> | ||
- | {{ | + | {{ |
Welche Probleme ergeben sich, wenn man eine Schulklasse nach | Welche Probleme ergeben sich, wenn man eine Schulklasse nach | ||
Zeile 95: | Zeile 95: | ||
Im folgenden ist ein unsortiertes Array zu sehen. Die Reihenfolge der Elemente ist durch den Index (in eckigen Klammern) festgelegt, der Wert der jeweiligen Array-Variablen durch die Zuweisung: | Im folgenden ist ein unsortiertes Array zu sehen. Die Reihenfolge der Elemente ist durch den Index (in eckigen Klammern) festgelegt, der Wert der jeweiligen Array-Variablen durch die Zuweisung: | ||
- | + | | |
- | | + | |
- | | + | zahlen[0]=7 |
- | | + | zahlen[1]=3 |
- | | + | zahlen[2]=15 |
- | | + | zahlen[3]=5 |
+ | zahlen[4]=12 | ||
Nun die sortierte Variante: | Nun die sortierte Variante: | ||
- | | + | zahlen[0]=3 |
- | | + | zahlen[1]=5 |
- | | + | zahlen[2]=7 |
- | | + | zahlen[3]=12 |
- | | + | zahlen[4]=15 |
- | Die Werte sind nun aufsteigend sortiert, die Reihenfolge noch immer durch den Index gegeben. | + | Die Werte sind nun aufsteigend sortiert, die Reihenfolge noch immer durch den Index gegeben. Analog kann man bei Java mit ArrayLists verfahren. |
===== Wann ist ein Array sortiert? ===== | ===== Wann ist ein Array sortiert? ===== | ||
- | |||
- | Um einzusehen, welche Bedingungen ein Array erfüllen muss, damit es sortiert ist, hilft uns die Geschichte von Willi und seinen Mistkugeln weiter: Nachdem er viele Kugelpaare vertauscht hat, bei denen die linke Kugel grösser war als die rechte, fand er irgendwann kein solches " | ||
- | Warum funktioniert das eigentlich? Jede Vertauschung bringt eine grössere Kugel | + | **Ein Array ist sortiert, wenn es keine zwei Elemente mit falscher Reihenfolge gibt.** |
- | ein Stück nach rechts und eine kleinere Kugel ein Stück nach links. Auf diese Weise | + | |
- | trägt jede Vertauschung ein kleines Stück zur Sortierung bei. Jede Vertauschung macht also | + | |
- | die Sortierung ein bisschen besser. Die Sortierung ist perfekt, wenn es keine falschen Paare mehr gibt. | + | |
- | + | ||
- | **Ein Array ist also sortiert, wenn es keine zwei Elemente mit falscher | + | |
- | Reihenfolge gibt.** | + | |
Es ist leicht einzusehen, dass auch die folgende Aussage richtig ist: **Ein Array ist sortiert, wenn es keine zwei benachbarten Elemente mit falscher Reihenfolge gibt.** | Es ist leicht einzusehen, dass auch die folgende Aussage richtig ist: **Ein Array ist sortiert, wenn es keine zwei benachbarten Elemente mit falscher Reihenfolge gibt.** | ||
- | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> | + | ====== Musik-Liste ====== |
- | {{ : | + | |
+ | Arbeite mit dem folgenden BlueJ Projekt: https:// | ||
- | * Speichere | + | Das Projekt implementiert eine ArrayList mit Musiktiteln, |
- | | + | |
- | | + | |
- | </ | + | |
<box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> | <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> | ||
- | {{ | + | {{ |
- | + | * Lade das Projekt herunter, öffne und teste es. | |
+ | </ | ||
- | * Speichere die Datei {{sortiert_test.zip|sortiert_test.php}}((Zip-Datei auspacken!)) auf deinem Webspace. | ||
- | * Teste das Programm mit unterschiedlichen Zahlenreihen und beobachte, was es macht | ||
- | * Bearbeite den Quelltext. Du findest 3 Aufgaben im Quelltext. Beantworte die Fragen soweit möglich schriftlich in der Datei. | ||
- | </ | ||
Weiter zu [[BubbleSort]] | Weiter zu [[BubbleSort]] |