seleccion

download seleccion

of 2

description

6

Transcript of seleccion

EjemploEl 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 ComputacionalEl 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)/2Cada 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 DesventajasPuede 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 susventajas: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 algunasdesventajas:Es lento y poco eficiente cuando se usa en listas grandes o medianas. Realiza numerosas comparaciones.