Diferencia entre revisiones de «Ordenamiento Shell»

Contenido eliminado Contenido añadido
m BOT - Posible prueba de 189.151.142.236, revirtiendo hasta la edición 68901772 de CEM-bot. ¿Hubo un error?
m Wikipedia no es contenedor de código fuente WP:NOALMACÉN Enlaces a implementaciones en RosettaCode y Wikibooks
Línea 8:
 
== Ejemplo ==
 
 
Considere un valor pequeño que está inicialmente almacenado en el final del [[vector (programación)|vector]]. Usando un ordenamiento O(''n''<sup>2</sup>) como el [[ordenamiento de burbuja]] o el [[ordenamiento por inserción]], tomará aproximadamente ''n'' comparaciones e intercambios para mover este valor hacia el otro extremo del vector. El Shell sort primero mueve los valores usando tamaños de espacio gigantes, de manera que un valor pequeño se moverá bastantes posiciones hacia su posición final, con sólo unas pocas comparaciones e intercambios.
Línea 35 ⟶ 34:
 
El Shell sort lleva este nombre en honor a su inventor, [[Donald Shell]], que lo publicó en 1959. Algunos libros de texto y referencias antiguas le llaman ordenación "Shell-Metzner" por Marlene Metzner Norton, pero según Metzner, "No tengo nada que ver con el algoritmo de ordenamiento, y mi nombre nunca debe adjuntarse a éste." [http://www.nist.gov/dads/HTML/shellsort.html]
 
<source lang="Java">
public static void main(String [] args) {
//arreglo
int Entrada[] = {
321, 123, 213, 234, 1, 4, 5, 6, 21, 15
};
//llamada
shellSort(Entrada);
for (int i = 0; i < Entrada.length; i++) {
System.out.print(Entrada[i]+" ");
}
}
public static void shellSort( int vec[]) {
// saltos
for( int p = vec.length / 2; p > 0; p = p == 2 ? 1 : (int) ( p / 2.2 ) ) {
for( int i = p; i < vec.length; i++) {
int tmp = vec[i];
int j;
for(j = i; j >= p && tmp < vec[j - p]; j -= p ) {
vec[j] = vec[j - p];
}
vec[j] = tmp;
}
}
}
</source>
 
== Secuencia de espacios ==
Línea 82 ⟶ 53:
* {{cita libro|apellidos=Weiss|nombre=Mark Allen|año=2002|editorial=Addison Wesley|título=Data Structures & Problem Solving using Java|id=ISBN 0-201-74835-5}}
* {{cita libro|apellidos=Pratt|nombre=V|año=1979|editorial=Garland|título=Shellsort and sorting networks (Outstanding dissertations in the computer sciences)|id=ISBN 0-8240-4406-1}} (Esto fue originalmente presentado como la tesis doctoral del autor en la Universidad de Stanford en 1971)
 
== Enlaces externos ==
* [https://en.wikibooks.org/wiki/Algorithm_Implementation/Sorting/Shell_sort Distintas implementaciones del algoritmo en Wikibooks (inglés)]
* [http://rosettacode.org/wiki/Sorting_algorithms/Shell_sort Distintas implementaciones del algoritmo en RosettaCode (inglés)]
* [http://tutorial-python.com.ar/?p=136 Ordenamiento Shell en Python]
* [http://snippets-tricks.org/ordenacion-shell/ Ordenación por Shell - From Scratch]