faecher:informatik:oberstufe:algorithmen:sortieren:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
faecher:informatik:oberstufe:algorithmen:sortieren:start [20.02.2020 16:01] – [Wozu sortieren wir?] sbelfaecher:informatik:oberstufe:algorithmen:sortieren:start [24.01.2022 23:09] – [Wann ist ein Array sortiert?] sbel
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**>
-{{  :hilfe:workshop:folder_tools.png|}} +{{  .:folder_tools.png|}} 
 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**>
-{{  :hilfe:workshop:folder_tools.png|}} +{{  .:folder_tools.png|}} 
  
 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[1]=7 +  int[] zahlen = new int[5]; 
-  $zahlen[2]=3 +  zahlen[0]=7 
-  $zahlen[3]=15 +  zahlen[1]=3 
-  $zahlen[4]=5 +  zahlen[2]=15 
-  $zahlen[5]=12+  zahlen[3]=5 
 +  zahlen[4]=12
  
 Nun die sortierte Variante: Nun die sortierte Variante:
  
-  $zahlen[1]=3 +  zahlen[0]=3 
-  $zahlen[2]=5 +  zahlen[1]=5 
-  $zahlen[3]=7 +  zahlen[2]=7 
-  $zahlen[4]=12 +  zahlen[3]=12 
-  $zahlen[5]=15+  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 "falsches" Paar mehr. Natürlich waren zu diesem Zeitpunkt seine Kugeln vollständig sortiert.  
    
-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 ======
-{{  :hilfe:workshop:folder_tools.png|}} +
  
 +Arbeite mit dem folgenden BlueJ Projekt: https://codeberg.org/qg-info-unterricht/musikliste-sortieren
  
-  * Speichere die Datei {{array_ausgeben.zip|array_ausgeben.php}}((Zip-Datei auspacken!)) auf deinem Webspace. +Das Projekt implementiert eine ArrayList mit Musiktiteln, die beim Einlesen aus der CSV-Datei mit einem zufällig generierten "Rating" versehen werden. **Du möchtest die Liste nach den Ratings sortieren**: Der Titel, den der Hörer mit dem höchsten Rating versehen hat, soll ganz oben ausgegeben werden.
-  Teste das Programm mit unterschiedlichen Zahlenreihen und beobachte, was es macht +
-  Bearbeite den Quelltext. Du findest 3 Aufgaben im Quelltext. Beantworte die Fragen schriftlich in der Datei +
-</box>+
  
 <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**> <box 90% round #f4ffc3 #e7f5aa #e7f5aa #e7f5aa |**Aufgabe**>
-{{  :hilfe:workshop:folder_tools.png|}}  +{{  .:folder_tools.png|}}  
- +  * Lade das Projekt herunter, öffne und teste es. 
 +</box>
  
-  * 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. 
-</box> 
 Weiter zu [[BubbleSort]] Weiter zu [[BubbleSort]]
  • faecher/informatik/oberstufe/algorithmen/sortieren/start.txt
  • Zuletzt geändert: 03.03.2024 15:36
  • von Marco Kuemmel