Algoritmos de ordenación

Hoy he encontrado una página bastante útil que define perfectamente los tipos de Algoritmos de Ordenación que usamos los programadores.



A modo de traducción:

Esta página muestra 8 algoritmos distintos de ordenación en 4 condiciones iniciales distintas. La visualización pretende varias cosas:
  • Mostraros cómo opera cada algoritmo.
  • Demostrar que no hay un algoritmo mejor.
  • Mostrar las ventajas y desventajas de cada algoritmo.
  • Demostrar que el comportamiento asintótico no siempre es el factor decisivo en la elección de uno u otro algoritmo. 
  • Demostrar que la condición inicial (orden de entrada y distribución de clabes) afecta al rendimiento tanto como la elección del algoritmo.
El algoritmo de ordenación ideal debería tener las siguientes propiedades:
  • Estable: Las claves idénticas no se reordenan.
  • Opera en el lugar, lo que requiere O (1) espacio adicional.
  • El peor caso O (n · lg (n)) de comparaciones clave.
  • El peor caso O (n) de intercambios.
  • Adaptativo: Acelera a O (n) cuando los datos se encuentran casi ordenados o cuando quedan pocas claves únicas.

Conclusión final

No existe un algoritmo que tenga todas estas propiedades, y la elección de uno u otro algoritmo de ordenación depende de la propia aplicación que estemos desarrollando.

Como link instructivo que me ha cautivado, este video de YouTube:

No hay comentarios:

Publicar un comentario

Mi foto
Geek y Friki de amplio espectro pero de baja intensidad. Bloguero, forero y jugón online. Y Papá. Cada vez con menos tiempo para los hobbies.
Experto en PowerBuilder.
¿Te ha gustado? Haz un +1 en Google!

También te puede interesar...