Merge sort es un algoritmo de clasificación desarrollado por John von Neumann en 1945. Es un algoritmo de clasificación eficiente, de propósito general y basado en comparaciones que utiliza un enfoque de divide y vencerás para dividir eficientemente una lista grande en dos sublistas más pequeñas. ordene recursivamente las sublistas y luego vuelva a fusionar los resultados en una única lista ordenada. La clasificación por combinación es estable, lo que significa que conserva el orden original de elementos iguales en la lista.
Algoritmo
La ordenación por combinación funciona siguiendo estos pasos:
1. Dividir: Dividir la lista sin ordenar en dos sublistas de tamaño aproximadamente igual.
2. Conquistar: Ordena recursivamente cada sublista
3. Fusionar: Combina las dos sublistas ordenadas de nuevo en una lista ordenada.
El proceso de fusión implica tomar dos pequeñas listas ordenadas y fusionarlas para formar una lista ordenada más grande. En cada paso, se toma el elemento más pequeño de cualquiera de las sublistas y se coloca en la matriz de resultados. Luego, el proceso se repite hasta que todas las sublistas se combinen en un resultado ordenado.
Rendimiento
La ordenación por combinación tiene una complejidad temporal de O (n log n), lo que significa que escala linealmente con el tamaño de la entrada. Es muy adecuado para ordenar listas grandes y también es estable, lo que significa que conserva el orden de elementos iguales. La desventaja es que requiere espacio de almacenamiento adicional para almacenar las sublistas, lo que lo hace menos eficiente para listas más pequeñas o para la clasificación in situ.
Conclusión
La ordenación por combinación es un conocido algoritmo de ordenación estable, eficiente y fácil de entender. Es adecuado para ordenar una gran variedad de tipos de datos y puede ordenar listas grandes en tiempo lineal. Su baja complejidad espacial lo convierte en una opción ideal para muchas aplicaciones.