ich habe eine schon geordnete Liste von
reellen Zahlen.
Jetzt wird zu jeder Zahl eine im Verhältnis
zur Gesamtausdehnung der Zahlenmenge kleine
Zufallszahl hinzuaddiert, so dass relativ
wenige benachbarte Einträge ihre Reiheinfolge
vertauschen.
Diese fast geordnete Liste wuerde ich gerne
wieder ordnen.
Das ist fast der Worst-Case von Baum-Algorithmen
die sonst meistens optimal sind.
Was koennte fuer diesen speziellen Fall
ein optimaler Algorithmus sein?
Bubblesort
Hallo,
unter den Bedingungen (ich nehme mal an es können unterschiedliche Zufallszahlen addiert werden, ansonsten ist ja überhaupt keine Neusortierung notwendig) würde ich Bubblesort verwenden. Ob Du theoretisch dem quadratischen Worst-Case entkommst, hängt davon ab wie genau sich die „wenigen notwendigen lokalen Vertauschungen“ fassen lassen.
Eventuell kannst du auch das Sortieren in einem Durchgang mit dem Addieren machen, das spart auch Zeit. Einfach den Bubblesort in die Addier-Schleife einbauen.