Introducción al algoritmo de clasificación por fusión

Introducción al algoritmo de clasificación por fusión

Merge sort es un algoritmo de clasificación basado en la técnica de 'divide y vencerás'. Es uno de los algoritmos de clasificación más eficientes.





¿Por qué la velocidad de mi wifi fluctúa tanto?

En este artículo, aprenderá sobre el funcionamiento del algoritmo de clasificación de fusión, el algoritmo de clasificación de fusión, su complejidad de tiempo y espacio y su implementación en varios lenguajes de programación como C ++, Python y JavaScript.





¿Cómo funciona el algoritmo de clasificación por fusión?

Merge sort funciona según el principio de divide y vencerás. Merge sort divide repetidamente una matriz en dos subarreglos iguales hasta que cada subarreglo consta de un solo elemento. Finalmente, todos esos subarreglos se fusionan de manera que el arreglo resultante esté ordenado.





Este concepto se puede explicar de manera más eficiente con la ayuda de un ejemplo. Considere una matriz sin clasificar con los siguientes elementos: {16, 12, 15, 13, 19, 17, 11, 18}.

Aquí, el algoritmo de clasificación de combinación divide la matriz en dos mitades, se llama a sí mismo para las dos mitades y luego fusiona las dos mitades ordenadas.



Combinar algoritmo de ordenación

A continuación se muestra el algoritmo del tipo de combinación:

|_+_|

Relacionado: ¿Qué es la recursividad y cómo se usa?





Complejidad temporal y espacial del algoritmo de clasificación por fusión

El algoritmo de clasificación Merge se puede expresar en forma de la siguiente relación de recurrencia:

T (n) = 2T (n / 2) + O (n)





Después de resolver esta relación de recurrencia utilizando el teorema del maestro o el método del árbol de recurrencia, obtendrá la solución como O (n logn). Por lo tanto, la complejidad de tiempo del algoritmo de clasificación de combinación es O (n logn) .

La complejidad de tiempo en el mejor de los casos del tipo de combinación: O (n logn)

La complejidad del tiempo de caso promedio del tipo de combinación: O (n logn)

La complejidad de tiempo del peor de los casos del tipo de combinación: O (n logn)

Relacionado: ¿Qué es la notación Big-O?

La complejidad del espacio auxiliar del algoritmo de clasificación de combinación es Sobre) como norte Se requiere espacio auxiliar en la implementación de ordenación por combinación.

Implementación en C ++ del algoritmo de clasificación por fusión

A continuación se muestra la implementación en C ++ del algoritmo de ordenación por combinación:

|_+_|

Producción:

|_+_|

Implementación de JavaScript del algoritmo de clasificación por fusión

A continuación se muestra la implementación de JavaScript del algoritmo de ordenación por combinación:

|_+_|

Producción:

|_+_|

Relacionado: Programación dinámica: ejemplos, problemas comunes y soluciones

Implementación en Python del algoritmo de clasificación por fusión

A continuación se muestra la implementación de Python del algoritmo de clasificación de combinación:

|_+_|

Producción:

|_+_|

Comprender otros algoritmos de clasificación

La ordenación es uno de los algoritmos más utilizados en programación. Puede ordenar elementos en diferentes lenguajes de programación utilizando varios algoritmos de clasificación como clasificación rápida, clasificación de burbujas, clasificación de combinación, clasificación de inserción, etc.

La clasificación de burbujas es la mejor opción si desea aprender sobre el algoritmo de clasificación más simple.

Cuota Cuota Pío Correo electrónico Introducción al algoritmo de clasificación de burbujas

El algoritmo Bubble Sort: una excelente introducción a la ordenación de matrices.

Leer siguiente
Temas relacionados
  • Programación
  • JavaScript
  • Pitón
  • Tutoriales de codificación
Sobre el Autor Yuvraj Chandra(60 Artículos publicados)

Yuvraj es estudiante de licenciatura en Ciencias de la Computación en la Universidad de Delhi, India. Le apasiona el desarrollo web Full Stack. Cuando no está escribiendo, está explorando la profundidad de diferentes tecnologías.

Más de Yuvraj Chandra

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse