Merge Sort

16
Ordenamiento de Mezcla Dra. Elisa Schaeffer Algoritmos Computacionales Humberto Treviño Delgado 1495798

description

Algoritmos computacionalesDra. Elisa Schaeffer

Transcript of Merge Sort

Page 1: Merge Sort

Ordenamiento de Mezcla

Dra. Elisa Schaeffer Algoritmos ComputacionalesHumberto Treviño Delgado 1495798

Page 2: Merge Sort

MERGE SORT

El ordenamiento del que hablaremos hoy, será el de Mezcla (merge sort), este es destacado por su técnica: divide y vencerás.

Page 3: Merge Sort

DESCRIPCION

Este ordenamiento fue desarrollado en 1945 por John Von Neumann

Merge sort es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales de acceso lento.

Merge sort es a menudo la mejor opción para ordenar una lista enlazada.

Page 4: Merge Sort

DESCRIPCION

Es fácil implementar merge sort de manera que sólo requiera Θ(1) espacio extra, y el mal rendimiento de las listas enlazadas ante el acceso aleatorio hace que otros algoritmos (como quicksort) den un bajo rendimiento, y para otros (como heapsort) sea algo imposible.

Page 5: Merge Sort

COMPLEJIDAD

El ordenamiento merge sort es de complejidad O(n log n).

Page 6: Merge Sort

Merge sort

Para empezar a entender un poco mejor el ordenamiento de mezcla observemos la animación.

Page 7: Merge Sort

Merge sort

Como pudimos ver en la imagen , lo que hace este metodo, es divir en 2 partes el arreglo, despues en otras 2 y asi hasta tener los elementos separados. Comparamos los elementos y escribimos el menor. Volvemos a comparar y asi hasta tener nuestro arreglo acomodado.

Page 8: Merge Sort

Merge sort

Para entender mejor lo anterior hay que observar la imagen y la animacion.

Page 9: Merge Sort

Merge sort

Divide y venceras

Page 10: Merge Sort

Pseudocódigo

Existen diversos lenguajes en los que se puede programar este ordenamiento, mas adelante esta nuestro código escrito en C.

Page 11: Merge Sort

Aplicaciones del Merge Sort

El ordenamiento de mezcla (merge sort) puede ser utilizado para:

●Para correr cintas magnéticas como dispositivos de entrada y salida, requiere muy poca memoria, y la memoria que requiere no depende del numero de grabaciones.

Page 12: Merge Sort

Los algoritmos de ordenamiento de mezcla permitieron a juegos de datos grandes para ser clasificados para los tempranos ordenadores que tenían pequeñas memorias de acceso arbitrarias por normas modernas. Los registros fueron almacenados sobre la cinta magnética y procesados sobre los bancos de unidades de cinta magnética magnéticas, como esta IBM 729s.

Page 13: Merge Sort

Analisis Asintotico

La relación de recurrencia del algoritmo es T(1) = 1, T(n) = 2 T(n/2) + n, cuya solución es T(n) = n lg n.

Suponiendo que se tiene un arreglo de 8 elementos, se ordenan los 4 elementos de cada arreglo y luego se mezclan. El arreglo de 4 elementos, se ordenan los 2 elementos de cada arreglo y luego se mezclan. El arreglo de 2 elementos, como cada arreglo sólo tiene n = 1 elemento, solo se mezclan.

Page 14: Merge Sort

Ejemplos (animaciones)

Page 15: Merge Sort

Ejemplos (animaciones)