¿Qué es Shell sort?

Shell Sort, también conocido como método de Shell, es una generalización del ordenamiento por inserción donde elementos gap la distancia que los separa se comparan en lugar de elementos adyacentes. El método comienza ordenando pares de elementos lejos separadas unas de otras, reduciendo progresivamente la brecha entre elementos a comparar. Comenzando con elementos muy separados, puede moverse algunos elementos fuera de lugar en posición más rápido que un simple más cercano intercambio de vecinos. El tiempo de ejecución de Shellsort depende en gran medida de la secuencia de huecos que utiliza. Para muchas variantes prácticas, determinar su la complejidad del tiempo sigue siendo un problema abierto. Es una clasificación en el lugar algoritmo que no es estable.

Coste computacional

Promedio: O(n3/2)
Mejor caso: O(n log n)
Peor caso: O(n2)

Curiosidades

Dato curioso 1:

Existen varias formas de calcular el intervalo, lo cual puede mejorar la efectividad del algoritmo.

Dato curioso 2:

El algoritmo Shell sort mejora el ordenamiento por inserción comparando elementos separados por un espacio de varias posiciones. Esto permite que un elemento haga "pasos más grandes" hacia su posición esperada.

Dato curioso 3:

Debe su nombre al ingeniero y matemático estadounidense Donald Shell que lo publicó en la revista Communications Of the ACM en 1959.

Dato curioso 4:

Se basa en comparaciones e intercambios.

Dato curioso 5:

Se necesita que el tiempo de acceso a cualquier dato sea constante.