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