www.wikidata.de-de.nina.az
Gnomesort ist ein sehr einfacher und stabiler Sortieralgorithmus Animation von Insertionsort bzw von Gnomesort ohne Visualisierung der Vergleichsoperationen siehe Abschnitt Vergleich Inhaltsverzeichnis 1 Prinzip 2 Vergleich 3 Laufzeitanalyse 4 Literatur 5 Weblinks 6 EinzelnachweisePrinzip BearbeitenMan stelle sich einen Gartenzwerg garden gnome vor welcher vor n Blumentopfen steht die unterschiedliche Grossen haben durfen Die Blumentopfe sind in einer von links nach rechts verlaufenden Reihe aufgestellt Ganz links steht der Gartenzwerg und mochte die Blumentopfe von links nach rechts der Grosse nach aufsteigend sortieren Dazu vergleicht er die beiden Blumentopfe vor denen er gerade steht Stellt er fest dass sie in der richtigen Reihenfolge sind so macht er einen Schritt nach rechts Stellt er hingegen fest dass die Reihenfolge nicht stimmt so vertauscht er die beiden Blumentopfe und macht einen Schritt nach links Falls er nicht weiter nach links gehen kann wenn beispielsweise der erste Vergleich zum Ergebnis fuhrte dass sich der erste und zweite Blumentopf in der falschen Reihenfolge befanden macht er einen Schritt nach rechts Dies wiederholt er standig Fertig ist er wenn er am ganz rechts stehenden Blumentopf ankommt Da sich rechts daneben kein weiterer Blumentopf mehr befindet kann kein Vergleich mehr stattfinden Gnomesort wurde im Jahr 2000 zuerst als Stupid Sort beschrieben von Hamid Sarbazi Azad und spater von Dick Grune als Gnomesort bezeichnet 1 Vergleich BearbeitenGnomesort fuhrt dieselben Vertauschungsoperationen wie Insertionsort durch vergleicht aber einige Elemente mehrmals Genauer gesagt ist der Unterschied dass Insertionsort dahingehend optimiert ist dass es den letzten oberen Listenindex speichert meist versteckt in Form einer For Schleife und nach dem erfolgreichen Runterbubblen somit direkt dort fortsetzen kann Gnomesort hingegen fuhrt eine Reihe erneuter eigentlich unnotiger Vergleiche durch um zum letzten oberen Index zuruckzukommen Zudem fuhrt Insertionsort statt Vertauschungen eigentlich nur kostengunstigere Verschiebungen aus Diese beiden fehlenden Optimierungen machen Gnomesort aber zu einem der am einfachsten zu programmierenden Sortieralgorithmen und sind damit gerade seine besondere Starke wenn es nicht auf Laufzeit ankommt Im Vergleich zu Bubblesort steigen die Blasen oft nur langsam auf dafur aber immer n Position im Array Mal schneller ab Im Best und Worst Case ist Gnomesort immer genauso schnell wie Bubblesort und ansonsten immer schneller Laufzeitanalyse BearbeitenDer Algorithmus besitzt eine quadratische und daher im Vergleich zu vielen anderen Sortieralgorithmen schlechte Worst Case Laufzeit In der Informatik druckt man dies mittels Landau Symbol durch 8 n 2 displaystyle textstyle Theta n 2 nbsp aus Im Best Case hat dieser Algorithmus eine Laufzeit von 8 n displaystyle textstyle Theta n nbsp Da der Algorithmus ein In place Verfahren ist braucht er vernachlassigbaren konstanten zusatzlichen Speicher Literatur BearbeitenHamid Sarbazi Azad Stupid Sort A new sorting algorithm In Department of Computing Science Newsletter University of Glasgow Band 599 Nr 4 2 Oktober 2000 Weblinks BearbeitenNIST Seite zu Gnomesort Gnomesort Seite von Dick GruneEinzelnachweise Bearbeiten Gnomesort auf der Webseite von Dick Grune Abgerufen von https de wikipedia org w index php title Gnomesort amp oldid 233208132