Existe um tipo chamado bogobogosort. Primeiro, ele verifica os 2 primeiros elementos e os classifica de bogo. Em seguida, ele verifica os 3 primeiros, classifica-os e assim por diante.
Se a lista estiver fora de ordem a qualquer momento, ela será reiniciada novamente, classificando os 2 primeiros. O bogosort regular tem uma complexidade média de O(N!), esse algoritmo tem uma complexidade média deO(N!1!2!3!...N!)
Editar : para ter uma idéia de quão grande esse número é, para 20elementos, esse algoritmo leva uma média de 3.930093*10^158 anos , bem acima da morte por calor proposta pelo universo (se isso acontecer) de 10^100 anos ,
enquanto a classificação de mesclagem leva cerca de .0000004 segundos , a classificação de bolha .0000016 segundos e o bogosort leva 308 anos , 139 dias , 19 horas , 35 minutos , 22.306 segundos , assumindo que um ano seja 365.242 dias e um computador faz 250.000.000 de operações inteiras de 32 bits por segundo.
Edit2 : Esse algoritmo não é tão lento quanto o tipo de milagre "algoritmo", que provavelmente, como esse, fará com que o computador seja sugado pelo buraco negro antes de classificar com êxito 20 elemtnts, mas, se o fizesse, eu estimaria uma complexidade média de 2^(32(the number of bits in a 32 bit integer)*N)(the number of elements)*(a number <=10^40) anos ,
uma vez que a gravidade acelera o movimento alfa dos chips, e existem 2 ^ N estados, que são 2^640*10^40, ou cerca de 5.783*10^216.762162762 anos , embora se a lista começasse a ser classificada, sua complexidade seria apenas O(N)mais rápida que a classificação por mesclagem, que é apenas N log N no pior dos casos.
Edit3 : Esse algoritmo é realmente mais lento que a classificação milagrosa, pois o tamanho fica muito grande, digamos 1000, já que meu algoritmo teria um tempo de execução de 2.83*10^1175546 anos , enquanto o algoritmo de classificação milagrosa teria um tempo de execução de 1.156*10^9657 anos .