
Ordenamiento Shell
Sign in to saveAlso known as Shell sort, Shell's method, Shellsort, Shell sort, Shell's method
thumb|alt=The steps of Shellsort.|Swapping pairs of items in successive steps of Shellsort with gaps 5, 3, 1 Shellsort, also known as Shell sort or '''Shell's method''', is an in-place comparison sort. It can be understood as either a generalization of sorting by exchange (bubble sort) or sorting by insertion (insertion sort). The method starts by sorting pairs of elements far apart from each other, then progressively reducing the gap between elements to be compared. By starting with far-apart elements, it can move some out-of-place elements into the position faster than a simple nearest-neigh
Key facts
- Algorithm.class
- Sorting algorithm
- Algorithm.image
- Step-by-step visualisation of Shellsort
- Algorithm.caption
- Shellsort with gaps 23, 10, 4, 1 in action
- Algorithm.data
- Array
- Algorithm.time
- O(n2) (worst known worst case gap sequence)O(n log2n) (best known worst case gap sequence)
- Algorithm.best time
- O(n log n) (most gap sequences)O(n log2n) (best known worst-case gap sequence)
- Algorithm.average time
- depends on gap sequence
- Algorithm.space
- О(n) total, O(1) auxiliary
- Algorithm.optimal
- No
via Wikipedia infobox
Wikidata facts
- Image
- Sorting shellsort anim.gif
Show 2 more facts
- time of discovery or invention
- 1959-00-00
- Stack Exchange tag
- stackoverflow.com/tags/shellsort
Sources (3)
via Wikidata · CC0
Article · Español
El ordenamiento Shell (Shell sort en inglés) es un algoritmo de ordenamiento. El método se denomina Shell en honor de su inventor . Su implementación original, requiere O(n2) comparaciones e intercambios en el peor caso. Un cambio menor presentado en el libro de V. Pratt produce una implementación con un rendimiento de O(n log2 n) en el peor caso. Esto es mejor que las O(n2) comparaciones requeridas por algoritmos simples pero peor que el óptimo O(n log n). Aunque es fácil desarrollar un sentido intuitivo de cómo funciona este algoritmo, es muy difícil analizar su tiempo de ejecución. El Shell sort es una generalización del ordenamiento por inserción, teniendo en cuenta dos observaciones: 1. * El ordenamiento por inserción es eficiente si la entrada está "casi ordenada". 2. * El ordenamiento por inserción es ineficiente, en general, porque mueve los valores solo una posición cada vez. 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. Los pasos múltiples sobre los datos se hacen con tamaños de espacio cada vez más pequeños. El último paso del Shell sort es un simple ordenamiento por inserción, pero para entonces, ya está garantizado que los datos del vector están casi ordenados.
Abstract from DBpedia / Wikipedia · CC BY-SA