faecher:informatik:oberstufe:algorithmen:sorting:radixsort: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
faecher:informatik:oberstufe:algorithmen:sorting:radixsort:start [07.07.2025 18:46] Frank Schiebelfaecher:informatik:oberstufe:algorithmen:sorting:radixsort:start [07.07.2025 19:01] (aktuell) Frank Schiebel
Zeile 30: Zeile 30:
 Implementiere Radix-Sort im Programmgerüst der entsprechenden Klasse in der Bluej-Vorlage von https://codeberg.org/qg-info-unterricht/algs4-sort-bluej.  Implementiere Radix-Sort im Programmgerüst der entsprechenden Klasse in der Bluej-Vorlage von https://codeberg.org/qg-info-unterricht/algs4-sort-bluej. 
  
-Betrachte zunächst den Konstruktor: Notiere dir die Bedeutung von $n$, $digits$ und $a$ im Kontext von Radix-Sort.+**A2.1** Betrachte zunächst den Konstruktor: Notiere dir die Bedeutung von $n$, $digits$ und $a$ im Kontext von Radix-Sort. Welche Aufgabe hat die for-Schleife? 
 + 
 +Kontrolliere deine Überlegung mit Hilfe entsprechender Eingaben, indem du das erzeugte Objekt untersuchst. 
 + 
 +**A2.2** Als "Buckets" verwenden wir ein "Array aus ArrayLists": 
 + 
 +<code java> 
 +// Buckets als Array aus ArrayLists erzeugen 
 +ArrayList<Integer>[] bucket = new ArrayList[10];  
 +for(int i=0; i<10; i++) { 
 +     bucket[i] = new ArrayList<>(); 
 +
 +</code> 
 + 
 +''bucket[7]'' ist die ArrayList, die alle Elemente mit der betrachteten Ziffer ''7'' aufnimmt. Analog für alle anderen Ziffern, die in den Zahlen vorkommen können (0-9). 
 + 
 +**A2.3** Implementiere die beiden Abschnitte "Verteilen" und "Einsammeln" so, dass die eingegebenen Zahlen anschließend nach ihrer Einer-Ziffer sortiert sind. Beachte die Anmerkungen in der Vorlage! 
 + 
 +**A2.4** Wiederhole den Verteilen/Einsammeln-Zyklus nun für jede Stelle der Zahlen, indem du eine Schleife um diese Abschnitte herum erzeugst - beachte die Kommentare im Code.  
 + 
 +Du musst dir noch überlegen, wie du der Reihe nach Einer-, Zehner, Hunderter-Stelle ermitteln kannst, um bei jedem neuen Durchlauf in die passenden Buckets zu sortieren.  
 + 
 +Außerdem musst du festlegen, wie oft diese äußere Schleife durchlaufen werden soll - ''digits'' hilft hier weiter. 
  
 ++++ Lösungsvorschlag | ++++ Lösungsvorschlag |
  • faecher/informatik/oberstufe/algorithmen/sorting/radixsort/start.1751913960.txt.gz
  • Zuletzt geändert: 07.07.2025 18:46
  • von Frank Schiebel