Es gibt eine Sorte, die Bogobogosort heißt. Zuerst werden die ersten beiden Elemente überprüft und falsch sortiert. Als nächstes prüft es die ersten 3, vermasselt sie und so weiter.
Sollte die Liste zu irgendeinem Zeitpunkt nicht in Ordnung sein, wird sie neu gestartet, indem die ersten 2 erneut falsch sortiert werden. Normaler Bogosort hat eine durchschnittliche Komplexität von O(N!)
, dieser Algorithmus hat eine durchschnittliche Komplexität vonO(N!1!2!3!...N!)
Bearbeiten : Um Ihnen eine Vorstellung davon zu geben, wie groß diese Zahl für 20
Elemente ist, benötigt dieser Algorithmus durchschnittlich 3.930093*10^158
Jahre , weit über dem vorgeschlagenen Hitzetod des Universums (falls er auftritt) von 10^100
Jahren .
Während die Zusammenführungssortierung ungefähr .0000004
Sekunden , die Blasensortierung .0000016
Sekunden und die Bogosortierung 308
Jahre , 139
Tage , 19
Stunden , 35
Minuten , 22.306
Sekunden dauert , vorausgesetzt, ein Jahr beträgt 365,242 Tage und ein Computer führt 250.000.000 32-Bit-Ganzzahloperationen pro Sekunde aus.
Edit2 : Dieser Algorithmus ist nicht so langsam wie die Wundersorte "Algorithmus", die wahrscheinlich wie diese Art den Computer in das Schwarze Loch saugt, bevor er erfolgreich 20 Elemente sortiert, aber wenn dies der Fall wäre, würde ich eine durchschnittliche Komplexität schätzen von 2^(32(the number of bits in a 32 bit integer)*N)(the number of elements)*(a number <=10^40)
Jahren ,
Da die Schwerkraft die Alpha-Bewegung der Chips beschleunigt und es 2 ^ N Zustände gibt, was 2^640*10^40
ungefähr 5.783*10^216.762162762
Jahren entspricht . Wenn die Liste jedoch sortiert beginnen würde, wäre ihre Komplexität nur O(N)
schneller als die Zusammenführungssortierung, die nur N log N ist im schlimmsten Fall.
Edit3 : Dieser Algorithmus ist tatsächlich langsamer als die Wundersortierung, da die Größe sehr groß wird, beispielsweise 1000, da mein Algorithmus eine Laufzeit von 2.83*10^1175546
Jahren haben würde , während der Wundersortierungsalgorithmus eine Laufzeit von 1.156*10^9657
Jahren haben würde .