Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(SHELLSORT Y QUICKSORT)
METODOS DE ORDENACION
(SHELLSORT Y QUICKSORT)
PRESENTADO A:
MARGARITA AVELLANEDA
METODO SHELLSORT
* Mtodo Shell
El nombre se debe a su inventor, D. L. Shell. Se suele denominar tambin ordenacin
por insercin con incrementos decrecientes. Se considera que el mtodo Shell es una
mejora de los mtodos de insercin directa. Shell modifica los saltos contiguos
resultantes de las comparaciones por saltos de mayor tamao y con ello se consigue
que la ordenacin sea ms rpida.
Generalmente se toma como salto inicial n/2 (siendo n el nmero de elementos), luego
se reduce el salto a la mitad en cada repeticin hasta que el salto es de tamao 1.
Ejemplo: 74, 14, 21, 44, 38, 97, 11, 78, 65, 88, 30
Se debe empezar con k=n/2, siendo n el nmero de elementos de arreglo, y utilizando
siempre la divisin entera.... despus iremos variando k hacindolo ms pequeo
mediante sucesivas divisiones por 2, hasta llegar a k=1. Pero vamos a ello... En nuestro
ejemplo, n=11 (porque hay 11 elementos).
As que k=n/2=11/2=5 Empezamos con k=5. As pues, vamos a dividir nuestro arreglo
original en 5 sub-arreglo, en los cuales, sus elementos estarn separados por 5 lugares
del arreglo original (el salto o gap es 5).
1.- Tomamos el primer elemento (el 74) contamos 5 lugares y tomamos tambin otro
elemento (el 97) volvemos a contar 5 y tomamos otro (el 30) y acabamos porque se nos
acaba el arreglo. El primer sub-arreglo con k=5 es el formado por
74, 97 y 30.
74, 14, 21, 44, 38, 97, 11, 78, 65, 88, 30
Ahora, ordenaremos los elementos del sub-arreglo pero slo entre ellos, utilizando el
algoritmo de Insercin directa. 74, 97, 30 30, 14, 21, 44, 38, 74 , 11, 78, 65, 88, 97
El 30, un elemento relativamente pequeo se ha ido hacia el principio y el 97 hacia el
final. Formemos ahora otro sub-arreglo con salto k=5... Partiendo del segundo elemento
(el 14) y contando 5 (tomamos tambin el 11) y hasta ah, porque se acaba el arreglo.
30, 14, 21, 44, 38, 74, 11, 78, 65, 88, 97
Vamos a ordenarlos el 11 primero y el 14 despus. 30, 11, 21, 44, 38, 74, 14, 78, 65,
88, 97 * 17. 30 , 11 , 21, 44, 38, 74 , 14 , 78, 65, 88, 97 Ahora a por otro el 21 y el 78
30 , 11 , 21, 44, 38, 74 , 14 , 78, 65, 88, 97 Estn en orden entre ellos, as que se
quedan como estn.
Ahora le toca al sub-arreglo formado por el 44 y el 65 30 , 11 , 21, 44, 38, 74 , 14 , 78,
65, 88, 97 Que tambin estn en orden entre ellos. y finalmente el 38 y el 88, que
tambin estn en orden. 30 , 11 , 21, 44, 38, 74 , 14 , 78, 65, 88, 97 * 18. An no hemos
terminado de ordenarlos. Nuestra k vala 5, as que ahora kk/2=5/2=2, nuestra nueva
k vale 2.
Repetimos todo el desarrollo anterior, pero ahora nos saldrn 2 sub-arreglo cuyos
elementos estn separados por 2 lugares. Tomamos el primer elemento (el 30)
contamos 2 lugares y tomamos tambin otro elemento (el 21) volvemos a contar 2 y
tomamos otro (el 38), volvemos a contar y ahora tomamos (el 14), seguimos contado y
tomamos (el 65), seguimos contando y tomamos (el 97) y acabamos porque se nos
acaba el arreglo. Y posteriormente se forma el segn sub-arreglo que empieza con el
11. 30, 11 , 21, 44, 38, 74 , 14 , 78, 65, 88, 97 Se ordena (primero los rojos), con el
mtodo de insercin: 14, 11 , 21, 44, 30, 74 , 38, 78, 65, 88, 97
Finalmente ordenamos los negros, pero estos ya estn ordenados: 14 , 11 , 21, 44, 30,
74 , 38 , 78, 65, 88, 97 * 19. Finalmente, calculamos un nuevo k dividiendo el que
tenemos entre 2. kk/2=2/2=1 Hemos llegado a k=1. Cuando k es 1 slo podemos
obtener 1 sub-arreglo cuyos elementos estn separados 1 posicin: el propio arreglo
original. Dicho de otra manera... cuando k es 1, el algoritmo de Shell se comporta
exactamente igual que el de insercin directa sobre todo el arreglo. 14 , 11 , 21, 44, 30,
74 , 38 , 78, 65, 88, 97 El mtodo de insercin directa se comporta tanto mejor cuanto
ms cerca est cada elemento de su sitio definitivo. Finalmente, el arreglo queda de
sta manera: 11, 14, 21, 30, 38, 44, 65, 74, 78, 88, 97 Cada elemento descolocado ha
tenido que moverse pocos lugares. Muchos de ellos ni siquiera se han movido.
PROGRAMA
DIAGRAMA DE FLUJO
METODO QUICKSORT
[7,8,2,1,3,12,14,21]