SlideShare a Scribd company logo
1 of 9
Ordenamiento por mezcla
     (merge-sort)
Merge-sort
• Conceptualmente, el ordenamiento por mezcla funciona de la siguiente
  manera:
    – Si la longitud de la lista es 0 ó 1, entonces ya está ordenada. En otro caso:
    – Dividir la lista desordenada en dos sublistas de aproximadamente la mitad del
      tamaño.
    – Ordenar cada sublista recursivamente aplicando el ordenamiento por mezcla.
    – Mezclar las dos sublistas en una sola lista ordenada.
• El ordenamiento por mezcla incorpora dos ideas principales para mejorar
  su tiempo de ejecución:
    – Una lista pequeña necesitará menos pasos para ordenarse que una lista
      grande.
    – Se necesitan menos pasos para construir una lista ordenada a partir de dos
      listas también ordenadas, que a partir de dos listas desordenadas. Por
      ejemplo, sólo será necesario entrelazar cada lista una vez que están
      ordenadas.
Proceso Principal
• Proceso principal
•      Escribir "Ingrese el tamano del vector";
•      Leer num;
•      dimension vector[num];
•      Para i<-1 Hasta num Con Paso 1 Hacer
•                Escribir "Ingrese el numero ", i;
•                Leer vector[i];
•      FinPara
•      mezcla(vector, num);
•      Escribir "los elementos ordenados del vector son: ";
•      Para i<-1 Hasta num Con Paso 1 Hacer
•                Escribir vector[i];
•      FinPara
• FinProceso
Subproceso:Mezcla
•   SubProceso mezcla ( array por referencia, n )
•            n1 <- 0; n2 <- 0; x <- 1; t <- 1;
•            Si n > 1 Entonces
•                               Si n mod 2 = 0 Entonces
•                                                 n1 <- trunc(n / 2);
•                                                 n2 <- n1;
•                               Sino
•                                                 n1 <- trunc(n / 2);
•                                                 n2 <- n1+1;
•                               FinSi
•                               dimension vector1[n1];
•                               dimension vector2[n2];
•                               Para x<-1 Hasta n1 Con Paso 1 Hacer
•                                                 vector1[x] <- array[x];
•                               FinPara
•                               Para t <- 1 Hasta n2 Con Paso 1 Hacer
•                                                 vector2[t] <- array[x];
•                                                 x <- x+1;
•                               FinPara
•                               mezcla(vector1,n1);
•                               mezcla(vector2,n2);
•                               mezclar(vector1, n1, vector2, n2, array);
•            FinSi
•   FinSubProceso
Subproceso:Mezclar
•   SubProceso mezclar (arreglo1, n1, arreglo2, n2, arreglo3 por referencia)
•             x1<-1;
•             x2<-1;
•             x3<-1;
•             Mientras (x1 <= n1 y x2 <= n2) Hacer
•                              Si arreglo1[x1] < arreglo2[x2] Entonces
•                                                 arreglo3[x3] <- arreglo1[x1];
•                                                 x1<-x1 + 1;
•                              Sino
•                                                 arreglo3[x3] <- arreglo2[x2];
•                                                 x2<-x2 + 1;
•                              FinSi
•
•                              x3<-x3 + 1;
•             FinMientras
•             Mientras x1 <= n1 Hacer
•                              arreglo3[x3] <- arreglo1[x1]
•                              x1<-x1 + 1;
•                              x3<-x3 + 1;
•             FinMientras
•             Mientras x2 <= n2 Hacer
•                              arreglo3[x3] <- arreglo1[x2]
•                              x2<-x2 + 1;
•                              x3<-x3 + 1;
•             FinMientras
•   FinSubProceso
Ejemplo:
5      3       1




5      3       1



5      3       1



3      5       1




1          3   5
12    9   4    99   120   1     3    10



12   9    4    99   120    1    3    10



12   9    4    99   120   1      3   10


12   9    4    99   120    1     3   10



9    12   4    99    1    120    3   10



4    9    12   99    1     3    10   120


1     3   4     9   10    12    99   120
38       27      43   3   9       82       10



                                                        3       9       10   27   38       43       82



    8        4       7    3   9       3

                                                        3       3       4    7    8        9



8        3       2    9   7   1   5        4



                                                    1       2       3    4   5    7    8        9
Referencias
• http://es.wikipedia.org/wiki/Ordenamiento_p
  or_mezcla

More Related Content

What's hot

Ejercicios resueltos de maximización: de método simplex
Ejercicios resueltos de maximización: de método simplexEjercicios resueltos de maximización: de método simplex
Ejercicios resueltos de maximización: de método simplexJuanMiguelCustodioMo
 
Algoritmo congruencial aditivo
Algoritmo congruencial aditivoAlgoritmo congruencial aditivo
Algoritmo congruencial aditivoEwing Ma
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busquedaJohnfornerod
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOWilmer Quintero
 
Codigo-de-gray
Codigo-de-grayCodigo-de-gray
Codigo-de-grayYageri
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
Insercion directa
Insercion directaInsercion directa
Insercion directaabelpit2
 
Prueba de series (exposición)
Prueba de series (exposición)Prueba de series (exposición)
Prueba de series (exposición)Héctor Pérez
 
5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskal5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskalADRIANA NIETO
 
Ejercicios propuesto 3
Ejercicios propuesto 3Ejercicios propuesto 3
Ejercicios propuesto 3jfranco_123
 
Análisis numérico 1. errores y aritmética de punto flotante
Análisis numérico 1. errores y aritmética de punto flotanteAnálisis numérico 1. errores y aritmética de punto flotante
Análisis numérico 1. errores y aritmética de punto flotanteEdward Ropero
 

What's hot (20)

Arboles b
Arboles bArboles b
Arboles b
 
Ejercicios resueltos de maximización: de método simplex
Ejercicios resueltos de maximización: de método simplexEjercicios resueltos de maximización: de método simplex
Ejercicios resueltos de maximización: de método simplex
 
Algoritmo congruencial aditivo
Algoritmo congruencial aditivoAlgoritmo congruencial aditivo
Algoritmo congruencial aditivo
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIO
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Codigo-de-gray
Codigo-de-grayCodigo-de-gray
Codigo-de-gray
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Insercion directa
Insercion directaInsercion directa
Insercion directa
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Prueba de series (exposición)
Prueba de series (exposición)Prueba de series (exposición)
Prueba de series (exposición)
 
5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskal5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskal
 
Arreglos en Java
Arreglos en JavaArreglos en Java
Arreglos en Java
 
Ejercicios propuesto 3
Ejercicios propuesto 3Ejercicios propuesto 3
Ejercicios propuesto 3
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Análisis numérico 1. errores y aritmética de punto flotante
Análisis numérico 1. errores y aritmética de punto flotanteAnálisis numérico 1. errores y aritmética de punto flotante
Análisis numérico 1. errores y aritmética de punto flotante
 
Ordenamiento parte 2
Ordenamiento parte 2Ordenamiento parte 2
Ordenamiento parte 2
 
Problema hungaro
Problema hungaroProblema hungaro
Problema hungaro
 
Ejercicios de conversión en Sistema Decimal,Binario,Hexadecimal
Ejercicios de conversión en Sistema Decimal,Binario,HexadecimalEjercicios de conversión en Sistema Decimal,Binario,Hexadecimal
Ejercicios de conversión en Sistema Decimal,Binario,Hexadecimal
 

Viewers also liked

Viewers also liked (11)

Mergesort
MergesortMergesort
Mergesort
 
Merge sort
Merge sortMerge sort
Merge sort
 
Merge Sort
Merge SortMerge Sort
Merge Sort
 
Ordenamiento por mezcla
Ordenamiento por mezclaOrdenamiento por mezcla
Ordenamiento por mezcla
 
Ordenamiento por mezcla
Ordenamiento por mezclaOrdenamiento por mezcla
Ordenamiento por mezcla
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 
Ordenamiento con árbol binario
Ordenamiento con árbol binarioOrdenamiento con árbol binario
Ordenamiento con árbol binario
 
Metodo burbuja
Metodo burbujaMetodo burbuja
Metodo burbuja
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De Ordenamiento
 
Ordenamiento x insercion espo
Ordenamiento x insercion espoOrdenamiento x insercion espo
Ordenamiento x insercion espo
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 

Recently uploaded

Topografía cuadro de construcción ing.civil
Topografía cuadro de construcción ing.civilTopografía cuadro de construcción ing.civil
Topografía cuadro de construcción ing.civilmeloamerica93
 
Afiche de arquitectura manierista Paola Perez
Afiche de arquitectura manierista Paola PerezAfiche de arquitectura manierista Paola Perez
Afiche de arquitectura manierista Paola PerezPaola575380
 
INICIOS DEL MOVIMIENTO MODERNO 1900-1930.pdf
INICIOS DEL MOVIMIENTO MODERNO 1900-1930.pdfINICIOS DEL MOVIMIENTO MODERNO 1900-1930.pdf
INICIOS DEL MOVIMIENTO MODERNO 1900-1930.pdfBrbara57940
 
guia de talles de camitas cucciolos 2024.pdf
guia de talles de camitas cucciolos 2024.pdfguia de talles de camitas cucciolos 2024.pdf
guia de talles de camitas cucciolos 2024.pdfcucciolosfabrica
 
Brochure Tuna Haus _ Hecho para mascotas.pdf
Brochure Tuna Haus _ Hecho para mascotas.pdfBrochure Tuna Haus _ Hecho para mascotas.pdf
Brochure Tuna Haus _ Hecho para mascotas.pdfhellotunahaus
 
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOPDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOManuelBustamante49
 
Espacios únicos creados por nuestros clientes
Espacios únicos creados por nuestros clientesEspacios únicos creados por nuestros clientes
Espacios únicos creados por nuestros clientesespejosflorida
 
Diseño de sifones y alcantarillas para obras hidraulicas
Diseño de sifones y alcantarillas para obras hidraulicasDiseño de sifones y alcantarillas para obras hidraulicas
Diseño de sifones y alcantarillas para obras hidraulicasRiegosVeracruz
 
plantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especialplantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especialAndreaMlaga1
 
Geometrías de la imaginación: Diseño e iconografía de Querétaro
Geometrías de la imaginación: Diseño e iconografía de QuerétaroGeometrías de la imaginación: Diseño e iconografía de Querétaro
Geometrías de la imaginación: Diseño e iconografía de QuerétaroJuan Carlos Fonseca Mata
 
diseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddiseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddabuitragoi
 
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfCERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfasnsdt
 
Jesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitecturaJesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitecturajesusgrosales12
 
Slaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdfSlaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdfslaimenbarakat
 
Presentación Proyecto Vintage Scrapbook Marrón (1).pdf
Presentación Proyecto Vintage Scrapbook Marrón (1).pdfPresentación Proyecto Vintage Scrapbook Marrón (1).pdf
Presentación Proyecto Vintage Scrapbook Marrón (1).pdfAdrianaCarolinaMoral2
 
Torre 222 sobre instalaciones de este mismo edificio
Torre 222 sobre instalaciones de este mismo edificioTorre 222 sobre instalaciones de este mismo edificio
Torre 222 sobre instalaciones de este mismo edificio2021ArqROLDANBERNALD
 
Presentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxPresentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxbarbaracantuflr
 
Proceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimientoProceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimientoJorge Fernandez
 

Recently uploaded (20)

Arte textil: Tejidos artesanos en la frontera hispano-lusa
Arte textil: Tejidos artesanos en la frontera hispano-lusaArte textil: Tejidos artesanos en la frontera hispano-lusa
Arte textil: Tejidos artesanos en la frontera hispano-lusa
 
Topografía cuadro de construcción ing.civil
Topografía cuadro de construcción ing.civilTopografía cuadro de construcción ing.civil
Topografía cuadro de construcción ing.civil
 
Afiche de arquitectura manierista Paola Perez
Afiche de arquitectura manierista Paola PerezAfiche de arquitectura manierista Paola Perez
Afiche de arquitectura manierista Paola Perez
 
INICIOS DEL MOVIMIENTO MODERNO 1900-1930.pdf
INICIOS DEL MOVIMIENTO MODERNO 1900-1930.pdfINICIOS DEL MOVIMIENTO MODERNO 1900-1930.pdf
INICIOS DEL MOVIMIENTO MODERNO 1900-1930.pdf
 
guia de talles de camitas cucciolos 2024.pdf
guia de talles de camitas cucciolos 2024.pdfguia de talles de camitas cucciolos 2024.pdf
guia de talles de camitas cucciolos 2024.pdf
 
Brochure Tuna Haus _ Hecho para mascotas.pdf
Brochure Tuna Haus _ Hecho para mascotas.pdfBrochure Tuna Haus _ Hecho para mascotas.pdf
Brochure Tuna Haus _ Hecho para mascotas.pdf
 
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOPDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
 
Espacios únicos creados por nuestros clientes
Espacios únicos creados por nuestros clientesEspacios únicos creados por nuestros clientes
Espacios únicos creados por nuestros clientes
 
Diseño de sifones y alcantarillas para obras hidraulicas
Diseño de sifones y alcantarillas para obras hidraulicasDiseño de sifones y alcantarillas para obras hidraulicas
Diseño de sifones y alcantarillas para obras hidraulicas
 
plantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especialplantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especial
 
Geometrías de la imaginación: Diseño e iconografía de Querétaro
Geometrías de la imaginación: Diseño e iconografía de QuerétaroGeometrías de la imaginación: Diseño e iconografía de Querétaro
Geometrías de la imaginación: Diseño e iconografía de Querétaro
 
diseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddiseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidad
 
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfCERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
 
Jesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitecturaJesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitectura
 
Slaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdfSlaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdf
 
Presentación Proyecto Vintage Scrapbook Marrón (1).pdf
Presentación Proyecto Vintage Scrapbook Marrón (1).pdfPresentación Proyecto Vintage Scrapbook Marrón (1).pdf
Presentación Proyecto Vintage Scrapbook Marrón (1).pdf
 
1.La locomoción de los seres vivos diseño
1.La locomoción de los seres vivos diseño1.La locomoción de los seres vivos diseño
1.La locomoción de los seres vivos diseño
 
Torre 222 sobre instalaciones de este mismo edificio
Torre 222 sobre instalaciones de este mismo edificioTorre 222 sobre instalaciones de este mismo edificio
Torre 222 sobre instalaciones de este mismo edificio
 
Presentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxPresentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptx
 
Proceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimientoProceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimiento
 

Merge sort

  • 1. Ordenamiento por mezcla (merge-sort)
  • 2. Merge-sort • Conceptualmente, el ordenamiento por mezcla funciona de la siguiente manera: – Si la longitud de la lista es 0 ó 1, entonces ya está ordenada. En otro caso: – Dividir la lista desordenada en dos sublistas de aproximadamente la mitad del tamaño. – Ordenar cada sublista recursivamente aplicando el ordenamiento por mezcla. – Mezclar las dos sublistas en una sola lista ordenada. • El ordenamiento por mezcla incorpora dos ideas principales para mejorar su tiempo de ejecución: – Una lista pequeña necesitará menos pasos para ordenarse que una lista grande. – Se necesitan menos pasos para construir una lista ordenada a partir de dos listas también ordenadas, que a partir de dos listas desordenadas. Por ejemplo, sólo será necesario entrelazar cada lista una vez que están ordenadas.
  • 3. Proceso Principal • Proceso principal • Escribir "Ingrese el tamano del vector"; • Leer num; • dimension vector[num]; • Para i<-1 Hasta num Con Paso 1 Hacer • Escribir "Ingrese el numero ", i; • Leer vector[i]; • FinPara • mezcla(vector, num); • Escribir "los elementos ordenados del vector son: "; • Para i<-1 Hasta num Con Paso 1 Hacer • Escribir vector[i]; • FinPara • FinProceso
  • 4. Subproceso:Mezcla • SubProceso mezcla ( array por referencia, n ) • n1 <- 0; n2 <- 0; x <- 1; t <- 1; • Si n > 1 Entonces • Si n mod 2 = 0 Entonces • n1 <- trunc(n / 2); • n2 <- n1; • Sino • n1 <- trunc(n / 2); • n2 <- n1+1; • FinSi • dimension vector1[n1]; • dimension vector2[n2]; • Para x<-1 Hasta n1 Con Paso 1 Hacer • vector1[x] <- array[x]; • FinPara • Para t <- 1 Hasta n2 Con Paso 1 Hacer • vector2[t] <- array[x]; • x <- x+1; • FinPara • mezcla(vector1,n1); • mezcla(vector2,n2); • mezclar(vector1, n1, vector2, n2, array); • FinSi • FinSubProceso
  • 5. Subproceso:Mezclar • SubProceso mezclar (arreglo1, n1, arreglo2, n2, arreglo3 por referencia) • x1<-1; • x2<-1; • x3<-1; • Mientras (x1 <= n1 y x2 <= n2) Hacer • Si arreglo1[x1] < arreglo2[x2] Entonces • arreglo3[x3] <- arreglo1[x1]; • x1<-x1 + 1; • Sino • arreglo3[x3] <- arreglo2[x2]; • x2<-x2 + 1; • FinSi • • x3<-x3 + 1; • FinMientras • Mientras x1 <= n1 Hacer • arreglo3[x3] <- arreglo1[x1] • x1<-x1 + 1; • x3<-x3 + 1; • FinMientras • Mientras x2 <= n2 Hacer • arreglo3[x3] <- arreglo1[x2] • x2<-x2 + 1; • x3<-x3 + 1; • FinMientras • FinSubProceso
  • 6. Ejemplo: 5 3 1 5 3 1 5 3 1 3 5 1 1 3 5
  • 7. 12 9 4 99 120 1 3 10 12 9 4 99 120 1 3 10 12 9 4 99 120 1 3 10 12 9 4 99 120 1 3 10 9 12 4 99 1 120 3 10 4 9 12 99 1 3 10 120 1 3 4 9 10 12 99 120
  • 8. 38 27 43 3 9 82 10 3 9 10 27 38 43 82 8 4 7 3 9 3 3 3 4 7 8 9 8 3 2 9 7 1 5 4 1 2 3 4 5 7 8 9