base de datos
Método de ordenamiento de arreglos. El más rápido y efectivo de todos los métodos para ordenar. Ordenamiento de disminución incremental
Fue nombrado Ordenamiento dedisminución incremental debido a su inventor Donald Shell.
Ordena subgrupos de elementos separados K unidades (respecto de su posición en el arreglo) del arreglo original. El valor K es llamadoincremento.
Después de que los primeros K subgrupos han sido ordenados (generalmente utilizando INSERCION DIRECTA), se escoge un nuevo valor de K más pequeño, y el arreglo es de nuevo partido entre elnuevo conjunto de subgrupos. Cada uno de los subgrupos mayores es ordenado y el proceso se repite de nuevo con un valor más pequeño de K.
Eventualmente el valor de K llega a ser 1, de tal manera que elsubgrupo consiste de todo el arreglo ya casi ordenado. Una secuencia que se ha comprobado ser de las mejores es: …1093, 364, 121, 40, 13, 4, 1. En contraste, una secuencia que es mala porque noproduce un ordenamiento muy eficiente es…64, 32, 16, 8, 4, 2, 1.
Su complejidad es de O (n1.2) en el mejor caso y de O(n1.25) en el caso promedio.
Al principio del proceso se escoge la secuencia dedecrecimiento de incrementos; el último valor debe ser 1.
"Es como hacer un ordenamiento de burbuja pero comparando e intercambiando elementos."
Cuando el incremento toma un valor de 1, todos loselementos pasan a formar parte del subgrupo y se aplica inserción directa.
El método se basa en tomar como salto N/2 (siendo N el número de elementos) y luego se va reduciendo a la mitad en cada repeticiónhasta que el salto o distancia vale 1.
http://www.dotnetcr.com/recurso.aspx?id=41&tag=Metodo-de-ordenamiento-Shell
Shell: Es una mejora del método de inserción directa, utilizado cuando el arraytiene un gran número de elementos. En este método no se compara a cada elemento con el de su izquierda, como en el de inserción, sino con el que está a un cierto número de lugares (llamado salto) a...
Regístrate para leer el documento completo.