You are on page 1of 6

METODOS DE

ORDENAMIENTO Y
ORDENAMI
BUSQUEDA
ENTO
SHELL SORT
El ordenamiento Shell (Shell sort en ingls) es un
algoritmo de ordenamiento. El mtodo se denomina Shell
en honor de su inventor Donald Shell.
El Shell Sort es una generalizacin del ordenamiento por
insercin, teniendo en cuenta dos observaciones:
El ordenamiento por insercin es eficiente si la entrada
est "casi ordenada".
El ordenamiento por insercin es ineficiente, en general,
porque mueve los valores slo una posicin cada vez.

El algoritmo Shell sort mejora el ordenamiento por insercin comparando elementos separados por un
espacio de varias posiciones. Esto permite que un elemento haga "pasos ms grandes" hacia su posicin
esperada. Los pasos mltiples sobre los datos se hacen con tamaos de espacio cada vez ms pequeos. El
ltimo paso del Shell sort es un simple ordenamiento por insercin, pero para entonces, ya est
garantizado que los datos del vector estn casi ordenados.

Quick Sort
El ordenamiento por particin (Quick Sort) se puede definir en una forma ms conveniente como un
procedimiento recursivo.
Tiene aparentemente la propiedad de trabajar mejor para elementos de entrada desordenados
completamente, que para elementos semiordenados. Esta situacin es precisamente la opuesta al
ordenamiento de burbuja.
Este tipo de algoritmos se basa en la tcnica "divide y vencers", o sea es ms rpido y fcil ordenar
dos arreglos o listas de datos pequeos, que un arreglo o lista grande.
Normalmente al inicio de la ordenacin se escoge un elemento aproximadamente en la mitad del
arreglo, as al empezar a ordenar, se debe llegar a que el arreglo este ordenado respecto al punto de
divisin o la mitad del arreglo.
Se podr garantizar que los elementos a la izquierda de la mitad son los menores y los elementos a
la derecha son los mayores.
Los siguientes pasos son llamados recursivos con el propsito de efectuar la ordenacin por
particin al arreglo izquierdo y al arreglo derecho, que se obtienen de la primera fase. El tamao de
esos arreglos en promedio se reduce a la mitad.

Radix sort
En informtica, el ordenamiento Radix (radix sort en ingls) es un
algoritmo de ordenamiento que ordena enteros procesando sus
dgitos de forma individual. Como los enteros pueden representar
cadenas de caracteres (por ejemplo, nombres o fechas). Por
ejemplo el nmero 235 se escribe 2 en la posicin de centenas, un
3 en la posicin de decenas y un 5 en la posicin de unidades.

Reglas para ordenar.

Empezar en el dgito ms significativo y avanzar por los dgitos


menos significativos mientras coinciden los dgitos
correspondientes en los dos nmeros.

1. En primer lugar los va ordenando tomando en


consideracin el nmero menos significativo (la unidad) del
ms pequeo al ms grande.

2. Luego, a partir de la lista que obtuvimos en el paso anterior,


ordenamos los nmeros de menor a mayor considerando
esta vez la decena de cada uno de ellos.

3. Finalmente comprobamos que la lista fue ordenada


satisfactoriamente mediante este procedimiento.

MERGESORT
El algoritmo puede considerarse que aplica la tcnica <<divide y vence>>. Fue desarrollado en 1945 por
John Von Neumann. Conceptualmente, el ordenamiento por mezcla funciona de la siguiente manera:

Si la longitud de la lista es 0 1, entonces ya est ordenada. En otro caso:


Reglas para ordenar.

El proceso es simple: se ordena la primera mitad de la lista, se ordena la


segunda mitad de la lista y una vez ordenadas su mezcla da lugar a una lista
de elementos ya ordenada. A su vez la ordenacin de la sublista mitad sigue
los mismos pasos, ordenar la primera mitad, ordenar la segunda mitad y
mezclar. La sucesiva divisin de la lista actual en dos hace que el problema
(nmero de elementos) cada vez sea ms pequeo; as hasta que la lista
actual tenga un elemento por lo tanto se considera ordenada, es el caso
base, y a partir de 2 sublistas de un nmero mnimo de elementos, se
mezclan dando cada vez a listas ordenadas de cada vez ms elementos hasta
alcanzar la lista total.

heapsort
El mtodo de ordenacin heapsort se conoce tambin como por
ordenacin por montculos, y trabaja con montculos mximos.

Un montculo se define como: Una estructura basada en un


rbol, donde cada nodo padre es mayor a sus nodos hijos y
adems toda la estructura esta balanceada.

Existen: Los montculos mximos tienen la caracterstica de


que cada nodo padre tiene un valor mayor que el de cualquiera
de sus nodos hijos. Los montculos mnimos, el valor del nodo
padre es siempre menor al de sus nodos hijos.

Mtodo Heapsort Este mtodo es el ms eficiente de los


mtodos de ordenacin que trabajan con estructuras tipo
arboles. La idea central de este algoritmo se basa en dos
operaciones: 1. Construir un montculo. 2. Eliminar la raz del
montculo en forma repetida.
El algoritmo, en su implementacin habitual, tiene dos fases. Primero una fase de
construccin de un montculo a partir del conjunto de elementos de entrada, y despus,
una fase de extraccin sucesiva de la cima del montculo. La implementacin del
almacn de datos en el heap, pese a ser conceptualmente un rbol, puede realizarse en
un vector de forma fcil. Cada nodo tiene dos hijos y por tanto, un nodo situado en la
posicin i del vector, tendr a sus hijos en las posiciones 2 x i, y 2 x i +1 suponiendo que
el primer elemento del vector tiene un ndice = 1. Es decir, la cima ocupa la posicin
inicial del vector y sus dos hijos la posicin segunda y tercera, y as, sucesivamente. Por
tanto, en la fase de ordenacin, el intercambio ocurre entre el primer elemento del
vector (la raz o cima del rbol, que es el mayor elemento del mismo) y el ltimo
elemento del vector que es la hoja ms a la derecha en el ltimo nivel. El rbol pierde
una hoja y por tanto reduce su tamao en un elemento. El vector definitivo y ordenado,
empieza a construirse por el final y termina por el principio.

Este algoritmo consiste en almacenar todos los elementos del vector a ordenar en un montculo
(heap), y luego extraer el nodo que queda como nodo raz del montculo (cima) en sucesivas
iteraciones obteniendo el conjunto ordenado. Basa su funcionamiento en una propiedad de los
montculos, por la cual, la cima contiene siempre el menor elemento (o el mayor, segn se haya
definido el montculo) de todos los almacenados en l. El algoritmo, despus de cada extraccin,
recoloca en el nodo raz o cima, la ltima hoja por la derecha del ltimo nivel. Lo cual destruye la
propiedad heap del rbol. Pero, a continuacin realiza un proceso de "descenso" del nmero insertado
de forma que se elige a cada movimiento el mayor de sus dos hijos, con el que se intercambia. Este
intercambio, realizado sucesivamente "hunde" el nodo en el rbol restaurando la propiedad montculo
del rbol y dejndo paso a la siguiente extraccin del nodo raz.
https://estructuras-de-datos.wikispaces.com/ordenamiento+shell+sort

https://es.slideshare.net/josepino/quicksort-7645707

http://www.estructuradedatos.galeon.com/metodoquicksort.htm

https://arq232.wordpress.com/2012/08/30/algoritmo-de-ordenamiento-radix-sort/

http://ict.udlap.mx/people/ingrid/Clases/IS211/Radix.html

http://librosweb.es/libro/algoritmos_python/capitulo_20/ordenamiento_por_mezcla_o_merg
e_sort.html

http://yaqui.mxl.uabc.mx/~eherrera/merge.htm

https://es.wikipedia.org/wiki/Heapsort

https://es.slideshare.net/DigitalXlien/mtodo-de-heapsort

You might also like