Está en la página 1de 16

Arreglos

METODOS DE ORDENAMIENTO

METODOS DE ORDENAMIENTO

Se clasifican en
Directos (IN SITU)

SELECCIN INSERCION
INTERCAMBIO

Avanzados

INSERCION DIRECTA
Los tems estn divididos conceptualmente en un arreglo destino {A[1] .. A[i-1]} y un arreglo origen {A[i] .. A[n]}. En cada paso, empezando con i=2 e incrementando i de uno en uno, se toma el elemento i de la secuencia origen y se transfiere a la secuencia destino insertndolo en el lugar adecuado

INSERCION DIRECTA
Como sabemos cual es el sitio apropiado?
Como el arreglo destino esta ordenado podemos dejar caer el elemento mientras este sea menor que cada uno de los elemento del arreglo destino Cuando insertemos un elemento en el arreglo ordenado los elementos que queden por encima de este debern correrse una posicin

INSERCION DIRECTA
... Algoritmo Para i:= 2 a N hacer x:= A[i]; j:=i-1; Mientras(x < A[j]) ^ (j > 0) hacer A[j+1]:= A[j] j:= j -1 Fin Mientras A[j+1]:=x Fin para

INSERCION DIRECTA
OBSERVACIONES
Debemos controlar que j > 0 para no exceder el limite inferior del arreglo, cuando el elemento a insertar en el arreglo ordenado es menor a todos ellos. Siempre se supone q el primer elemento esta ordenado, para no tener q perder tiempo comparndolo consigo mismo

SELECCIN DIRECTA
El mtodo se basa en encontrar en cada pasada del arreglo el elemento con clave mnima y ubicarlo en la posicion correspondiente a la pasada, intercambiando los elementos Es decir se selecciona el elemento menor del arreglo no ordenado y se lo ubica en el arreglo ordenado

SELECCIN DIRECTA
... Algoritmo Para i:=1 : (N-1) hacer x:=A[i] MIN:=i; Para j:=(i+1) : N hacer Si A[j] < x entonces MIN:=j; x:=A[j] Fin si Fin para A[MIN]:=A[i] A[i]:=x Fin para

SELECCIN DIRECTA
OBSERVACIONES
Este mtodo as como el de insercin suponen el peor caso, es decir que el arreglo este muy desordenado En el caso que se los elementos queden ordenados prematuramente el mtodo seguir trabajando hasta llegar al ultimo elemento

INTERCAMBIO DIRECTO
La principal caracterstica de este mtodo es el intercambio entre pares de tems Se basa en el principio de comparar e intercambiar pares de tems adyacentes hasta que todos estn ordenados

INTERCAMBIO DIRECTO
PRIMER PASADA

... Algoritmo Bandera:= Falso; Mientras NO Bandera hacer Bandera:= Verdadero; Para j:=1 hasta (N-1) hacer Si A[j] > A[j+1] entonces X:=A [j]; A[j] := A[j+1]; A[j+1]:=X; Bandera:= Falso; Fin si Fin para Fin mientras

INTERCAMBIO DIRECTO
SEGUNDA PASADA

... Algoritmo Bandera:= Falso; Mientras NO Bandera hacer Bandera:= Verdadero; Para j:=1 hasta (N-1) hacer Si A[j] > A[j+1] entonces X:=A [j]; A[j] := A[j+1]; A[j+1]:=X; Bandera:= Falso; Fin si Fin para Fin mientras

INTERCAMBIO DIRECTO
TERCERA PASADA

... Algoritmo Bandera:= Falso; Mientras NO Bandera hacer Bandera:= Verdadero; Para j:=1 hasta (N-1) hacer Si A[j] > A[j+1] entonces X:=A [j]; A[j] := A[j+1]; A[j+1]:=X; Bandera:= Falso; Fin si Fin para Fin mientras

INTERCAMBIO DIRECTO
CUARTA PASADA

... Algoritmo Bandera:= Falso; Mientras NO Bandera hacer Bandera:= Verdadero; Para j:=1 hasta (N-1) hacer Si A[j] > A[j+1] entonces X:=A [j]; A[j] := A[j+1]; A[j+1]:=X; Bandera:= Falso; Fin si Fin para Fin mientras

INTERCAMBIO DIRECTO
OBSERVACIONES
El mtodo realiza solo la cantidad de pasadas necesarias + una extra para verificar que el arreglo quede efectivamente ordenado . Esto lo diferencia de los otros mtodos

BIBLIOGRAFIA
Autor : Nicklaus Wirth Titulo : Algoritmos + Estructuras de Datos = Programas Editorial : Ediciones del Castillo

También podría gustarte