Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sort Merge
Sort Merge
SORT MERGE
Integrantes:
JOAN PIA
MARIA COLMENAREZ
KAREN ORDAZ
ISALY ALMAO
DANIEL GUTIERRES
GILBERLYS GONZALES
YOAO CORREIA
DEFINICION
Es
unALGORITMO
DE
ORDENAMIENTO
EXTERNOestable
basado en la tcnicaDIVIDE Y
VENCERAS.
Consiste en dividir en dos partes
iguales el vector a ordenar, ordenar
por separado cada una de las partes,
y luego mezclar ambas partes,
manteniendo el orden, en un solo
vector ordenado.
voidpartition(intarr[],intbajo,intal
to){
intmitad;
if(bajo<alto){
mitad=(bajo+alto)/2;
partition(arr,bajo,mitad);
partition(arr,mitad+1,alto);
mergeSort(arr,bajo,mitad,alto);
}
}
voidmergeSort(intarr[],int
low,intmid,inthigh){
inti,m,k,l,temp[MAX];
l=low;
i=low;
m=mid+1;
while((l<=mid)&&(m<=high)
){
if(arr[l]<=arr[m]){
temp[i]=arr[l];
l++;
}
else{
temp[i]=arr[m];
m++;
}
i++;
}
if(l>mid){
for(k=m;k<=
high;k++){
temp[i]=arr[k];
i++;
}
}
else{
for(k=l;k<=
mid;k++){
temp[i]=arr[k];
i++;
}
}
for(k=low;k<=hig
h;k++){
arr[k]=temp[k];
}
}
VENTAJAS
Mtodo de ordenamiento estable mientras la funcin de mezcla sea implementada
correctamente.
Muy estable cuando la cantidad de registros a acomodar es de ndice bajo, en caso
contrario gasta el doble del espacio que ocupan inicialmente los datos.
Efectivo para conjunto de datos a los que se puede acceder secuencialmente
(arreglos, vectores, etc.)
Principal desventaja
Est definido recursivamente. Si se deseara implementarlano recursivamente se
tendra que emplear una pila y se requerira un espacio adicional de memoria para
almacenarla.
GRACIAS
POR SU
ATENCION