Hay un tipo que se llama bogobogosort. Primero, verifica los primeros 2 elementos y los bogos clasifica. A continuación, verifica los primeros 3, los bogos los ordena, y así sucesivamente.
Si la lista está fuera de servicio en cualquier momento, se reinicia al ordenar de nuevo los primeros 2. El bogosort regular tiene una complejidad promedio de O(N!), este algoritmo tiene una complejidad promedio deO(N!1!2!3!...N!)
Editar : para darle una idea de qué tan grande es este número, para los 20elementos, este algoritmo lleva un promedio de 3.930093*10^158 años , muy por encima de la muerte por calor propuesta del universo (si sucede) de 10^100 años ,
mientras que la ordenación por fusión toma alrededor de .0000004 segundos , la ordenación por burbuja .0000016 segundos y el bogosort lleva 308 años , 139 días , 19 horas , 35 minutos , 22.306 segundos , suponiendo que un año sea 365,242 días y una computadora realiza 250,000,000 de operaciones de 32 bits por segundo.
Edit2 : este algoritmo no es tan lento como el milagro del "algoritmo", que probablemente, como este tipo, absorberá la computadora en el agujero negro antes de que clasifique con éxito 20 elementos, pero si lo hiciera, estimaría una complejidad promedio de 2^(32(the number of bits in a 32 bit integer)*N)(the number of elements)*(a number <=10^40) años ,
dado que la gravedad acelera el movimiento alfa de las fichas, y hay 2 ^ N estados, que son 2^640*10^40, o aproximadamente , 5.783*10^216.762162762 años , aunque si la lista comenzara ordenada, su complejidad solo sería O(N), más rápida que la fusión, que es solo N log N incluso En el peor de los casos.
Edit3 : este algoritmo es en realidad más lento que el tipo milagroso ya que el tamaño se hace muy grande, digamos 1000, ya que mi algoritmo tendría un tiempo de ejecución de 2.83*10^1175546 años , mientras que el algoritmo de tipo milagroso tendría un tiempo de ejecución de 1.156*10^9657 años .