Método De Ordenamiento Shell
Taller de conocimientos esenciales de la Carrera
Ordenamiento Shell
• Mejora el ordenamiento por inserción. • Comparando elementos separados por un espacio devarias posiciones. • Permite que un elemento haga "pasos más grandes" hacia su posición esperada. • En el siguiente ejemplo se explicara de mejor manera lo señalado….
Ordenamiento Shell
• Tenemosel siguiente arreglo
74 14 21 44 38 97 11 78 65 88 30
• El método propone que se haga sobre el arreglo una serie de ordenaciones basadas en la inserción directa, • Pero dividiendo el arreglo envarios subarreglos de tamaño k=n/2
Ordenamiento Shell
• n= número de elementos del arreglo • La division sera entera • Luego k debera hacerse más pequeña mediante sucesivas divisiones para 2 hastaque k=1. • Para el ejemplo • n=11 • k=11/2=5
Ordenamiento Shell
• El salto para dividir el arreglo será 5 quedando así:
74 14 21 44 38 97 11 78 65 88 30
• Es decir se el primer elemento será74 y contamos 5 lugares y el segundo elemento será 97 y así sucesivamente… • Estos elementos se ordenan solo entre ellos utilizando la ordenación directa
Ordenamiento Shell
• El vector quedara así30 14 21 44 38 74 11 78 65 88 97
• El elemento 30 se coloco al principio y el 97 al final dando saltos de 5 en 5 lugares • Formaremos otro subarreglo con salto k=5 partiendo del segundo elemento30 14 21 44 38 74 11 78 65 88 97
Ordenamiento Shell
• Se ordenan entre ellos y queda el arreglo de esta manera
30 11 21 44 38 74 14 78 65 88 97
• Aplicando de la mismo orden ahora le toca alos elementos 21 y 78, como están ordenados de manera correcta el mismo proceso se aplica a los elementos 44 y 65 y luego al 38 y 74
30 11 21 44 38 74 14 78 65 88 97
Ordenamiento Shell
• Elmétodo finaliza cuando k=1 para esto nuestra variable k estaba en 5 por lo tanto • k=5/2=2 • Los elementos del arreglo se dividirán de dos en dos y se ordenaran entre ellos dando saltos de a 2, amarillo...
Regístrate para leer el documento completo.