Upload
carmensp
View
406
Download
0
Embed Size (px)
Citation preview
Carmen Suárez PalomaresMatricula:1462633
Lenguajes de ProgramaciónMartes M1-M3
Dra. Elisa Schaeffer
Ordenamiento por mezcla
Ordenamiento merge sortdivide LISTA{
si (n==1){return}else{dividir n/2mergesort(mitad izquierda de array) lista2mergesort(mitad derecha de array) lista3merge(ambas mitades dentro de una lista ordenada) lista1}
Ordenamiento merge sortmerge(lista1,lista2,lista3)x1,y1, z1 se inicializanwhile(ambos lista2 y lista3 contengan elementos)
{if(lista2[y1] < lista3[z1]{lista1[x1++] = lista2[y1++]}else{lista1[x1++] = lista3[z1++]}
}end
30
27
3 48
45
5 9
30 27 3 48 45 5 9
30 27 3 48 45 5
30
27
3 48
45
5 9
27 30 3 48 5 45 9
9
3 27 30 48 5 9 45
3 5 9 27
30
45
48
Llamada recursiva 1 (MergeSort)
Llamada recursiva 2 (MergeSort)
Llamada recursiva 3 (MergeSort)
Combina