algorithmen:algolektion03
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
algorithmen:algolektion03 [25.01.2012 13:20] – Stefan Gaum | algorithmen:algolektion03 [09.11.2014 15:47] (aktuell) – Stefan Gaum | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | [[algorithmen: | + | [[algorithmen: |
- | ====== Lektion | + | ====== Lektion |
Sortierverfahren sind von großer Bedeutung für die Informatik, siehe auch | Sortierverfahren sind von großer Bedeutung für die Informatik, siehe auch | ||
Zeile 30: | Zeile 30: | ||
- | ===== Sortieren durch Auswahl (Selection Sort) ===== | + | ===== Sortieren durch Auswahl (Selectionsort) ===== |
+ | [[http:// | ||
Beim Sortieren durch Auswahl wird das kleinste Element des unsortierten Bereichs gesucht, ausgewählt und schließlich mit dem Grenzelement vertauscht. Die Grenze wird anschließend um einen Schritt weitergeschoben, | Beim Sortieren durch Auswahl wird das kleinste Element des unsortierten Bereichs gesucht, ausgewählt und schließlich mit dem Grenzelement vertauscht. Die Grenze wird anschließend um einen Schritt weitergeschoben, | ||
Zeile 42: | Zeile 43: | ||
Im nachstehenden Struktogramm wird eine variable Anzahl von Elementen sortiert. Die Variablen **// | Im nachstehenden Struktogramm wird eine variable Anzahl von Elementen sortiert. Die Variablen **// | ||
- | {{: | + | {{: |
+ | [[http:// | ||
===== Aufgaben ===== | ===== Aufgaben ===== | ||
Zeile 50: | Zeile 52: | ||
- Sortiere die Zahlen 7, 5, 3, 8, 4, 6, 1, 2, 9 auf einem Blatt Papier nach dem Auswahlverfahren. | - Sortiere die Zahlen 7, 5, 3, 8, 4, 6, 1, 2, 9 auf einem Blatt Papier nach dem Auswahlverfahren. | ||
- | - Folge dem [[funktionen: | + | - Folge dem Struktogramm und programmiere einen code für diesen Sortieralgorithmus. |
- Gib den Mittelwert der Listenelemente aus. | - Gib den Mittelwert der Listenelemente aus. | ||
- Wie viele Elemente sind größer bzw. kleiner als der Mittelwert? | - Wie viele Elemente sind größer bzw. kleiner als der Mittelwert? | ||
- | ===== [[algorithmen: | + | [[algorithmen: |
- | <code php> | ||
- | <form action=" | ||
- | <input type=" | ||
- | <input type=" | ||
- | </ | ||
| | ||
- | <?php | + | [[algorithmen: |
- | $jetzt = microtime(); | + | |
- | print $jetzt; | + | |
- | $zahlen = $_POST[' | + | |
- | $einzelzahlen = explode(" | + | |
- | $anzahl = count($einzelzahlen); | + | |
- | + | ||
- | //echo $anzahl; | + | |
- | // | + | |
- | + | ||
- | // Alle " | + | |
- | $dieguten = array(); | + | |
- | for( $i=0; $i< | + | |
- | if( is_numeric($einzelzahlen[$i])){ | + | |
- | print "Index $i: $einzelzahlen[$i] ist Zahl<br />"; | + | |
- | | + | |
- | } | + | |
- | } | + | |
- | + | ||
- | print_r($dieguten); | + | |
- | + | ||
- | $anzahl = count($dieguten); | + | |
- | $grenze = 0; | + | |
- | + | ||
- | while($grenze < $anzahl) { | + | |
- | // kleinstes Element suchen | + | |
- | $index_min = $grenze; | + | |
- | for( $i = $grenze; $i< | + | |
- | if ($dieguten[$i] < $dieguten[$index_min]) { | + | |
- | $index_min = $i; | + | |
- | } | + | |
- | } | + | |
- | // $dieguten[$index_min] ist das kleinste Element# | + | |
- | // vertausche $dieguten[$grenze] mit $dieguten[$index_min] | + | |
- | $zwischen = $dieguten[$grenze]; | + | |
- | $dieguten[$grenze] = $dieguten[$index_min]; | + | |
- | $dieguten[$index_min] = $zwischen; | + | |
- | // Grenze eins nach rechts | + | |
- | $grenze++; | + | |
- | } | + | |
- | $zeit = microtime() - $jetzt; | + | |
- | + | ||
- | print_r($dieguten); | + | |
- | + | ||
- | print " | + | |
- | ?> | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | [[algorithmen: | + |
algorithmen/algolektion03.1327497616.txt.gz · Zuletzt geändert: 25.01.2012 13:20 von Stefan Gaum