Está en la página 1de 8

ALGORITMO DE ORDENAMIENTO

POR SELECCIN
(Selection
Sort
eningls):Consiste
en
encontrar el menor de todos los elementos del
arreglo o vector e intercambiarlo con el que
est en la primera posicin. Luego el segundo
mas pequeo, y as sucesivamente hasta
ordenarlo todo. Su implementacin requiere
O(n2) comparaciones e intercambios para
ordenar una secuencia de elementos.

ALGORITMO DE ORDENAMIENTO
POR SELECCIN

Descripcin
Este algoritmo mejora ligeramente el algoritmo de la
burbuja. En el caso de tener que ordenar un vector
de enteros, esta mejora no es muy sustancial, pero
cuando hay que ordenar un vector de estructuras
ms complejas, la operacin de intercambiar los
elementos sera ms costosa en este caso. Su
funcionamiento se puede definir de forma general
como:
Buscar

el mnimo elemento entre una posicin i y el


final de la lista
Intercambiar el mnimo con el elemento de la
posicin i

As, se puede escribir el siguiente


pseudocdigo para ordenar una lista de
n elementos ordenados desde el 1:
parai=1hastan-1;
minimo = i; para j=i+1 hasta n
si lista [ j ] < lista[minimo] entonces
minimo = j
fin si
fin para intercambiar(lista[i],
lista[minimo])
fin para

Ejemplo
El arreglo a ordenar es a
=['a','s','o','r','t','i','n','g','e','x','a','m','p','l','e'].
Se empieza por recorrer el arreglo hasta encontrar el menor
elemento. En este caso el menor elemento es la primera 'a'. De
manera que no ocurre ningn cambio.
Luego se procede a buscar el siguiente elemento y se encuentra
la segunda 'a'. Esta se intercambia con el dato que est en la
segunda posicin, la 's', quedando el arreglo as despus de dos
recorridos: a = ['a','a','o','r','t','i','n','g','e','x','s','m','p','l','e'].
El siguiente elemento, el tercero en orden de menor mayor es la
primera 'e', la cual se intercambia con lo que est en la tercera
posicin, o sea, la 'o'. Le sigue la segunda 's', la cual es
intercambiada con la 'r'. El arreglo ahora se ve de la siguiente
manera: a = ['a','a','e','e','t','i','n','g','o','x','s','m','p','l','r'].
De

esta manera se va buscando el elemento que debe ir en la


siguiente posicin hasta ordenar todo el arreglo.

Anlisis del Costo Computacional

El ciclo externo se ejecuta n veces para una lista


de n elementos, o sea que para ordenar un vector
de n trminos, tiene que realizar siempre el mismo
nmero de comparaciones.c(n)= (n2-n)/2
Cada bsqueda requiere comparar todos los
elementos no clasificados, de manera que el
nmero de comparaciones c(n) no depende del
orden de los trminos, si no del nmero de
trminos; por lo que este algoritmo presenta un
comportamiento constante independiente del
orden de los datos. Luego la complejidad es del
orden n2.

Estabilidad
Puede
que
exista
algo
de
discrepancia en cuanto a si es o no
estable este algoritmo, pero en
realidad
esta
implementacin
parece ser bastante estable.
Se puede verificar esto ordenando
un conjunto de datos que tenga un
par de ellos con la misma clave. Se
vera claramente que el orden
relativo entre ellos es conservado.

Ventajas y Desventajas
Ventajas:
Es fcil su implementacin.
No requiere memoria adicional.
Realiza pocos intercambios.
Tiene un rendimiento constante
Desventajas:
Es lento y poco eficiente cuando se
usa en listas grandes o medianas.
Realiza numerosas comparaciones.

También podría gustarte