Mergesort<br />Julio Cesar García Lechuga    Raúl Rodríguez SalazarAlberto Huerta Jaramillo<br />
Se basa en la técnica divide y vencerás (DYV).<br />Divide: Divide la secuencia de n elementos en dos subsecuencias de n/2...
Combina:  Mezcla las dos subsecuencias ordenadas para obtener la solución del problema.<br />
Si A[n..] (n==1)<br />{<br />«Esta Ordenado»<br />}<br />Si noRealiza {A[n]/2;<br />}<br />Mientras (n=!1)<br />Mezcla<br ...
Ordenamiento por mezcla<br />  Llamada recursiva 1 ( MergeSort)<br />  Llamada recursiva 2 ( MergeSort)<br />  Llamada rec...
1. Si la longitud de la lista es 0 ó 1, entonces ya está ordenada. En otro caso:<br />2. Dividir la lista desordenada en d...
 3. Ordenar cada sublista recursivamente aplicando el ordenamiento por mezcla.<br />   4. Mezclar las dos sublistas en una...
Método estable de ordenamiento mientras la operación de mezcla (Merge)  sea bien implementada.<br />Este algoritmo es efec...
Su principal desventaja radica en que está definido recursivamente y su implementación no recursiva emplea una pila, por l...
El ordenamiento por mezcla tiene una complejidad de <br />	O(n logn).<br />Complejidad<br />
Aunque  heapsort tiene los mismos límites de tiempo que merge sort, requiere sólo O(1) espacio auxiliar en lugar del O(n) ...
Quicksort, sin embargo, es considerado por mucho como el más rápido algoritmo de ordenamiento. Mergesort es un ordenamient...
Merge sort es a menudo la mejor opción para ordenar una lista enlazada: es relativamente fácil implementar merge sort de m...
http://es.wikipedia.org/wiki/Ordenamiento_por_mezcla<br />www.dtic.upf.edu/~jonsson/pII09/Apuntes/TeoriaSemana5.ppt<br />h...
Próxima SlideShare
Cargando en…5
×

Mergesort

17.557 visualizaciones

Publicado el

Ordenamiento por mezcla

Publicado en: Educación
0 comentarios
5 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
17.557
En SlideShare
0
De insertados
0
Número de insertados
82
Acciones
Compartido
0
Descargas
352
Comentarios
0
Recomendaciones
5
Insertados 0
No insertados

No hay notas en la diapositiva.

Mergesort

  1. 1. Mergesort<br />Julio Cesar García Lechuga Raúl Rodríguez SalazarAlberto Huerta Jaramillo<br />
  2. 2. Se basa en la técnica divide y vencerás (DYV).<br />Divide: Divide la secuencia de n elementos en dos subsecuencias de n/2 elementos.<br />Vence: Ordena ambas subsecuencias de manera recursiva.<br />Ordenamiento por mezcla<br />
  3. 3. Combina:  Mezcla las dos subsecuencias ordenadas para obtener la solución del problema.<br />
  4. 4. Si A[n..] (n==1)<br />{<br />«Esta Ordenado»<br />}<br />Si noRealiza {A[n]/2;<br />}<br />Mientras (n=!1)<br />Mezcla<br />Pseudocódigo<br />
  5. 5. Ordenamiento por mezcla<br /> Llamada recursiva 1 ( MergeSort)<br /> Llamada recursiva 2 ( MergeSort)<br /> Llamada recursiva 3 ( MergeSort)<br />6 12 4 9 8 13 5<br /> Volver 3 a 2 ( Combina )<br />4 6 9 12 5 8 13<br /> Volver 2 a 1 ( Combina )<br /> 4 56 89 12 13<br />Combina<br />
  6. 6. 1. Si la longitud de la lista es 0 ó 1, entonces ya está ordenada. En otro caso:<br />2. Dividir la lista desordenada en dos sublistas de aproximadamente la mitad del tamaño.<br />Funcionamiento<br />
  7. 7. 3. Ordenar cada sublista recursivamente aplicando el ordenamiento por mezcla.<br /> 4. Mezclar las dos sublistas en una sola lista ordenada.<br />Funcionamiento<br />
  8. 8. Método estable de ordenamiento mientras la operación de mezcla (Merge) sea bien implementada.<br />Este algoritmo es efectivo para conjuntos de datos que se puedan acceder secuencialmente como arreglos, vectores y listas ligadas<br />Ventajas<br />
  9. 9. Su principal desventaja radica en que está definido recursivamente y su implementación no recursiva emplea una pila, por lo que requiere un espacio adicional de memoria para almacenarla.<br />Desventajas<br />
  10. 10. El ordenamiento por mezcla tiene una complejidad de <br /> O(n logn).<br />Complejidad<br />
  11. 11. Aunque  heapsort tiene los mismos límites de tiempo que merge sort, requiere sólo O(1) espacio auxiliar en lugar del O(n) de merge sort, y es a menudo más rápido en implementaciones prácticas.<br />Comparación con otros algoritmos de ordenamiento<br />
  12. 12. Quicksort, sin embargo, es considerado por mucho como el más rápido algoritmo de ordenamiento. Mergesort es un ordenamiento estable, paraleliza mejor, y es más eficiente manejando medios secuenciales de acceso lento.<br />Comparación con otros algoritmos de ordenamiento<br />
  13. 13. Merge sort es a menudo la mejor opción para ordenar una lista enlazada: es relativamente fácil implementar merge sort de manera que sólo requiera Θ(1) espacio extra.<br />Comparación con otros algoritmos de ordenamiento<br />
  14. 14. http://es.wikipedia.org/wiki/Ordenamiento_por_mezcla<br />www.dtic.upf.edu/~jonsson/pII09/Apuntes/TeoriaSemana5.ppt<br />http://aprende-sistemasarreglos.blogspot.com/2009/03/mergesort.html<br />Referencia Bibliográfica<br />

×