Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GRUPO # 2
INGENIERO:
INTEGRANTES:
Contenido N ° página
I.Introducción.....................................................................1
II.Objetivos..........................................................................2
III.Marco teórico.
A. Método de ordenación, ¿Qué es Merge Sort?.........3
B. Historia.........................................................................4
C. Tipos de métodos.......................................................5-11
D.Utilidad de merge Sort...............................................12-18
E.Ventajas, desventajas y caracteristicas.....................19
IV.Desarrollo......................................................................20-22
A.Prueba de escritorio gráfica.......................................23
V.Conclusión......................................................................24
VI.Bibliografía....................................................................25
1
INTRODUCCIÓN.
OBJETIVOS.
Objetivo General.
Objetivos Específicos.
MERGE SORT.
MÉTODO DE ORDENACIÓN:
¿Qué es MergeSort?
Mergesort es un algoritmo de tipo ‘Divide y vencerás’. Divide el array en dos mitades
recursivamente, se llama a sí mismo para las dos mitades y después una las dos
mitades ordenadas.
El vector de datos se divide a sí mismo hasta alcanzar el tamaño ‘1’ de elementos, eso
quiere decir que el vector de tamaño 1 está ordenado. Cuando el vector se encuentre
en esta parte cada sub-vector se ordena recursivamente ‘uniéndolos’ y comparando
valores con el vector de al lado.
MERGE SORT.
HISTORIA:
A finales del Siglo pasado, una prestigiosa Consultora publicó un estudio que había
realizado para averiguar en qué se consumía la CPU de los ordenadores de las
empresas. Sospecho que sobre todo, basó su estudio en clientes con mainframes de
IBM, aunque sólo sea por lo sencillo que es en estos sistemas conocer con exactitud,
gracias al RMF, lo que consume cualquier programa a lo largo del tiempo.
A pocos entendidos sorprendió que el programa que más recursos consumiera fuera
el Sort (es decir, el programa standard para ordenar los registros de un fichero, Base de
Datos, etc), pero lo chocante fue hasta qué punto lo era: alrededor del 60% de todos
los recursos de los ordenadores centrales de las compañías se destinaban a ordenar
las cosas (hablo de memoria, porque no he conseguido encontrar el documento ni
vivo ni muerto, ni en papel ni en la red).
No debería, en realidad, resultarnos nada sorprendente: lo que los anglosajones llaman
“Computer” (artefacto para hacer cálculos), para franceses y españoles es un
“Ordenador” (cacharro para ordenar cosas).
Por cierto, el término computer lo aplicaban los anglosajones para designar a las
personas que “computaban” una serie de cálculos con una calculadora (calculator). A
partir de principios de los cincuenta del siglo pasado, los modernos sistemas fueron
reemplazando paulatinamente a los computers humanos, que no sólo se quedaron
sin trabajo, sino que también les canibalizaron el nombre…
En fin, el Sort es el programa para ordenar ficheros en todo Sistema Operativo que se
precie. Y, que yo sepa, en todos ellos se llama igual: SORT. Desde el B1 del NCR Century
200, hasta el MS/DOS, pasando por el MVS, etc.
Toma un fichero (o varios) de entrada, lo clasifica por las claves que se le indican (o por
todo el contenido del registro, si no se especifica nada), de forma ascendente o
descendente… Y además, en algunos Sistemas como MVS, el propio programa sirve
para hacer tratamientos a los ficheros: Unificar ficheros, Dividirlo en varios, Extraer
registros… un programa muy completo. Y que se usa muchísimo.
5
MERGE SORT.
TIPOS DE MÉTODOS:
MERGE SORT.
TIPOS DE MÉTODOS:
Shell sort :
❏ A diferencia del algoritmo de ordenación por inserción, este algoritmo intercambia
elementos distantes. Es por esto que puede deshacer más de una inversión en cada
intercambio, hecho del cual nos aprovechamos para ganar velocidad.
MERGE SORT.
TIPOS DE MÉTODOS:
MERGE SORT.
TIPOS DE MÉTODOS:
Implementación en Java.
9
MERGE SORT.
TIPOS DE MÉTODOS:
Método sort(), ésta función tiene la tarea de dividir en dos mitades el vector
que se pasa por parametro hasta que el vector se quede de tamaño 1.
10
MERGE SORT.
TIPOS DE MÉTODOS:
MERGE SORT.
UTILIDADES DE MERGE SORT:
Como estamos usando divide y vencerás para ordenar, tenemos que decidir cómo se
van a ver nuestros subproblemas. El problema completo es ordenar todo un arreglo.
I. Divide: al encontrar el número de la posición a medio camino entre ppp y rrr. Haz
este paso de la misma manera en que encontramos el punto medio en la búsqueda
binaria: suma ppp y rrr, divide entre 2 y redondea hacia abajo.
II. Vence: al ordenar de manera recursiva los subarreglos en cada uno de los dos
subproblemas creados por el paso de dividir. Es decir, ordena de manera recursiva el
subarreglo array[p..q] y ordena de manera recursiva el subarreglo array[q+1..r].
MERGE SORT.
UTILIDADES DE MERGE SORT:
14
MERGE SORT.
UTILIDADES DE MERGE SORT:
Este es nuestro inicio ya que es la primera función llamada, notamos como esta tiene
una pequeña condicional necesaria para toda función recursiva.
15
MERGE SORT.
UTILIDADES DE MERGE SORT:
Ya una vez hemos mandado a llamar la función que se encargará de las mezclas
podemos ver cómo se va realizando las comparaciones para ir llenando un arreglo
consolidado el cual hemos nombrado result
16
MERGE SORT.
UTILIDADES DE MERGE SORT:
Esta vez tenemos 2 arreglos de longitud 1, eso da los parámetros exactos para poder
llamar la función merge() el cual compara ambos elementos de arreglo e introducirá
el menor en nuestro arreglo auxiliar result
17
MERGE SORT.
UTILIDADES DE MERGE SORT:
Una vez tenemos el menor, concatenamos este nuevo arreglo con los elementos
restantes y los retornamos.
MERGE SORT.
UTILIDADES DE MERGE SORT:
Si notamos bien, a este punto ya tenemos 2 arreglos separados cada uno ordenado de
menor a mayor.
Arreglo 1
14
[8,9]
Arreglo 2
[6,7]
19
MERGE SORT.
VENTAJAS, DESVENTAJAS Y
CARACTERISTICAS:
Ventajas:
Desventajas:
Características.
La eficiencia de este algoritmo es bastante notable en tiempo de ejecución en
comparación con otros, ya que su manera de trabajo por grupos pequeños agiliza la
organización de los datos. Su utilización se da con mucha frecuencia cuando la
cantidad de registros no es muy grande ya que para hacer las mezclas este método
utiliza el doble del espacio que gasta el arreglo original de valores. Este es un
algoritmo estable dependiendo de la forma en que se implemente, recursivo y por
tanto de complejidad o tanto en el peor caso como en el mejor o en el caso promedio
pues el tiempo que emplea no depende de la disposición inicial de los datos.
Otros datos
A diferencia de algunas versiones mejoradas del Quicksort, Mergesort es un método
estable de ordenamiento mientras la operación de mezcla sea implementada de la
manera correcta.
20
MERGE SORT.
DESARROLLO:
package hn.edu.ujcv.pii.p1;
import java.util.Scanner;
MERGE SORT.
DESARROLLO:
if(idxA >= ordenadoA.length){ //Si ya se llego al final del sub arreglo A, entonces utilizar
unicamente el sub arreglo B
ordenado[i]=ordenadoB[idxB];
idxB++;
}else if(idxB >= ordenadoB.length){ //De lo contrario y Si ya se llego al final del sub
arreglo B, entonces utilizar unicamente el sub arreglo A
ordenado[i]=ordenadoA[idxA];
idxA++;
}else{
//Sino determinar que numero de los sub arreglos es el menor para ingresarlo al
arreglo destino
if(ordenadoA[idxA]<ordenadoB[idxB]){
ordenado[i] = ordenadoA[idxA];
idxA++;
}else{
ordenado[i] = ordenadoB[idxB];
idxB++;
}
}
}
22
MERGE SORT.
DESARROLLO:
return ordenado;
}
FORMA GRÁFICA:
24
CONCLUSIONES.
BIBLIOGRAFÍA.
http://puntocomnoesunlenguaje.blogspot.com/2014/10/java-
mergesort.html#:~:text=El%20método%20MergeSort%20es%20un,
la%20técnica%20divide%20y%20vencerás.&text=-
%20Cada%20mitad%20se%20ordena%20de%20forma%20recursiv
a%20aplicando%20el%20método%20MergeSort.
https://www.ecured.cu/MergeSort#:~:text=n%20log%20n).-,Mezcla
s%20Sucesivas%20(MergeSort),1945%20por%20John%20Von%20N
eumann.&text=Si%20n%20%3D%201%20solo%20hay,se%20orden
an%20de%20igual%20forma.