Istnieje rodzaj, który nazywa się bogobogosort. Najpierw sprawdza pierwsze 2 elementy i bogosortuje je. Następnie sprawdza pierwsze 3, bogosortuje i tak dalej.
Gdyby lista była w jakimkolwiek momencie nieuporządkowana, jest ona uruchamiana ponownie przez ponowne bogosortowanie pierwszych 2. Zwykły bogosort ma średnią złożoność wynoszącą O(N!)
, ten algorytm ma średnią złożoność wynoszącąO(N!1!2!3!...N!)
Edycja : Aby dać ci wyobrażenie o tym, jak duża jest ta liczba, w przypadku 20
pierwiastków ten algorytm zajmuje średnio 3.930093*10^158
lata , znacznie powyżej proponowanej śmierci cieplnej wszechświata (jeśli tak się stanie) 10^100
lat ,
podczas gdy sortowanie przez scalanie zajmuje około .0000004
sekund , sortowanie bąbelkowe .0000016
sekund , a bogosort zajmuje 308
lata , 139
dni , 19
godziny , 35
minuty , 22.306
sekundy , zakładając, że rok to 365,242 dni, a komputer wykonuje 250 000 000 32-bitowych operacji na liczbach całkowitych na sekundę.
Edit2 : Ten algorytm nie jest tak powolny jak cudowne sortowanie "algorytmem", które prawdopodobnie, podobnie jak ten rodzaj, spowoduje, że komputer zostanie wessany do czarnej dziury, zanim pomyślnie sortuje 20 elementów, ale gdyby tak było, oszacowałbym średnią złożoność od 2^(32(the number of bits in a 32 bit integer)*N)(the number of elements)*(a number <=10^40)
lat ,
ponieważ grawitacja przyspiesza ruchy alfa chipów, a istnieją stany 2 ^ N 2^640*10^40
, czyli około 5.783*10^216.762162762
lat , chociaż gdyby lista zaczęła się posortowana, jej złożoność byłaby tylko O(N)
szybsza niż sortowanie przez scalanie, które wynosi tylko N log N nawet w najgorszym przypadku.
Edit3 : Ten algorytm jest w rzeczywistości wolniejszy niż sortowanie cudowne, ponieważ rozmiar staje się bardzo duży, powiedzmy 1000, ponieważ mój algorytm miałby czas działania 2.83*10^1175546
lat , podczas gdy algorytm cudownego sortowania miałby czas działania 1.156*10^9657
lat .