Sie sind auf Seite 1von 9

REPBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIN SUPERIOR


UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICE-RECTORADO ACADMICO
COORDINACIN GENERAL DE PRE-GRADO
PROYECTO DE CARRERA: ING INFORMATICA
ASIGNATURA: ESTRUCTURA DE DATOS

Ordenamiento por
Seleccin

Profesor(a):
Jos L. Salazar

Alumnos:
Luis Surez C.I: 21.196.039
Ender Ruiz C.I: 23.504.394
Enrique Lpez C.I: 19.910.387

Puerto Ordaz, 07 de Mayo de 2015

INTRODUCCIN
En este tipo de algoritmos se selecciona o se busca el elemento ms pequeo (o
ms grande) de todo el conjunto de elementos y se coloca en su posicin
adecuada. Este proceso se repite para el resto de los elementos hasta que todos
son analizados.

CONCLUSIN
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.
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 ver claramente que el orden relativo entre ellos es
conservado.

ORDENAMIENTO POR SELECCIN


El ordenamiento por seleccin (Selection Sort en ingls) es un algoritmo de
ordenamiento que requiere O(n) operaciones para ordenar una lista de n
elementos.

EN QUE CONSISTE EL ORDENAMIENTO POR SELECCIN


El mtodo de ordenamiento por seleccin consiste en encontrar el menor de todos
los elementos del arreglo e intercambiarlo con el que est en la primera posicin.
Luego el segundo ms pequeo, y as sucesivamente hasta ordenar todo el
arreglo.

CARACTERISTICAS

Algoritmo que ubica elementos de un arreglo, en una secuencia, dada por


una relacin de orden.
Buscar el mnimo elemento entre una posicin i y el final de la lista.
Intercambiar el mnimo con el elemento de la posicin i.
Su implementacin es con ciclos anidados.

De esta manera se puede escribir el siguiente pseudocdigo para ordenar una


lista de n elementos indexados desde el 1:
para i=1 hasta n-1
mnimo = i;
para j=i+1 hasta n
si lista[j] < lista[mnimo] entonces
mnimo = j /* (!) */
fin si
fin para
intercambiar(lista[i], lista[mnimo])
fin para

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 complejos, la operacin
intercambiar() sera ms costosa en este caso. Este algoritmo realiza muchas
menos operaciones intercambiar() que el de la burbuja, por lo que lo mejora en
algo. Si la lnea comentada con () se sustituyera por intercambiar(lista[i], lista[j])
tendramos una versin del algoritmo de la burbuja (naturalmente eliminando el
orden intercambiar del final).
Otra desventaja de este algoritmo respecto a otros como el de burbuja o de
insercin directa es que no mejora su rendimiento cuando los datos ya estn
ordenados o parcialmente ordenados. As como, por ejemplo, en el caso de la
ordenacin de burbuja se requerira una nica pasada para detectar que el vector
ya est ordenado y finalizar, en la ordenacin por seleccin se realizaran el
mismo nmero de pasadas independientemente de si los datos estn ordenados o
no.

RENDIMIENTO DEL ALGORITMO


Al algoritmo de ordenamiento por seleccin, para ordenar un vector de n trminos,
tiene que realizar siempre el mismo nmero de comparaciones:

Esto es, el nmero de comparaciones c(n) no depende del orden de los trminos,
si no del nmero de trminos.

Por lo tanto la cota ajustada asinttica del nmero de comparaciones pertenece al


orden de n cuadrado.
El nmero de intercambios i(n), tambin es fijo, tngase en cuenta que la
instruccin:
intercambiar(lista[i], lista[mnimo])
siempre se ejecuta, aun cuando i= mnimo, lo que da lugar:

sea cual sea el vector, y el orden de sus trminos, lo que implica en todos los
casos un coste lineal:

la cota ajustada asinttica del nmero de intercambios es lineal, del orden de n.


Asimismo, la frmula que representa el rendimiento del algoritmo, viene dada por
la funcin:

ESTABILIDAD
Depende del orden relativo de los datos y del elemento pvot que se seleccione.
En general no es estable.

REQUERIMIENTOS DE MEMORIA
Al igual que el ordenamiento burbuja, este algoritmo slo necesita una variable
adicional para realizar los intercambios.

TIEMPO DE EJECUCIN
El ciclo externo se ejecuta n veces para una lista de n elementos. Cada bsqueda
requiere comparar todos los elementos no clasificados. Luego la complejidad es
O(n). Este algoritmo presenta un comportamiento constante independiente del
orden de los datos. Luego la complejidad promedio es tambin O(n).

VENTAJAS

Fcil implementacin.
No requiere memoria adicional.
Realiza pocos intercambios.
Rendimiento constante: poca diferencia entre el peor y el mejor caso.

DESVENTAJAS
Lento.
Realiza numerosas comparaciones.

IMPLEMENTACIN EN JAVA
A continuacin se muestra el ordenamiento por seleccin en JAVA:

void selecccion(int[] a) {
for (int i = 0; i < a.length - 1; i++)
{
int min = i;
for (int j = i + 1; j < a.length; j++)
{
if (a[j] < a[min])
{
min = j;
}
}
if (i != min)
{
int aux= a[i];
a[i] = a[min];
a[min] = aux;
}
}}

ALGORITMO DE ORDENAMIENTO POR SELECCIN


Pasadas: (1)

(2)

(3)

(4)

(5)

(6)

INDICE
INTRODUCCION pg. 2

ORDENAMIENTO POR SELECCIN.


pg. 3
EN QUE CONSISTE EL ORDENAMIENTO POR
SELECCIN.pg. 3
CARACTERISTICAS...pg. 4
RENDIMIENTO DEL ALGORITMO. pg. 5
ESTABILIDAD......pg. 5
REQUERIMIENTOS DE MEMORIA.....pg. 5
TIEMPO DE EJECUCIN...pg. 5
VENTAJAS.pg. 5
DESVENTAJAS.pg. 5
IMPLEMENTACIN EN JAVApg. 6
ALGORITMO DE ORDENAMIENTO POR SELECCIN...pg. 6

CONCLUSION..pg. 7
BIBLIOGRAFIA.....pg. 8

BIBLIOGRAFIA
http://www.ecured.cu/index.php/Algoritmo_de_ordenamiento_por_selecci
%C3%B3n

http://es.wikipedia.org/wiki/Ordenamiento_por_selecci%C3%B3n
http://es.slideshare.net/linkinpark03/mtodo-de-ordenamiento-por-seleccinselection-sort-22984304

Das könnte Ihnen auch gefallen