Académique Documents
Professionnel Documents
Culture Documents
}
El tiempo de ejecucin del algoritmo de ordenacin por seleccin es del orden O(n2)
Declarar el array
Crear el array
Usar el array
Declarar un Array
Para declarar un array se escribe
tipo_de_dato [ ] nombre_del_array;
Para declarar un array de enteros escribimos
Int [ ] numeros;
Para crear un array de 4 nmero enteros
escribimos
http://www.ecured.cu/index.php/Algoritmo_de_ordenamiento_por_selecci
%C3%B3n
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:
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, Ventajas y Desventajas
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. Algunos autores no lo consideran asi, pero independientemente de
esto, este algoritmo tienes entre sus ventajas: Es fcil su implementacin. No
requiere memoria adicional. Realiza pocos intercambios. Tiene un rendimiento
constante, pues existe poca diferencia entre el peor y el mejor caso. Como todos
tambin tiene algunas desventajas: Es lento y poco eficiente cuando se usa en
listas grandes o medianas. Realiza numerosas comparaciones.