Estructuras de Datos

Ordenación por Selección

La ordenación por selección mejora la Ordenación por el método de la Burbuja haciendo solamente un intercambio por cada pasada a través del arreglo. Con el fin de conseguir esto, una ordenación por selección busca el valor más grade haciendo una pasada y completando luego la pasadas ubicándolo en el su posición definitiva.

De igual manera que en la ordenación por el método de la burbuja, después de la primera pasada el elemento más grande se encuentra en la ubicación correcta. Después de la segunda pasada , el siguiente más grande está en su ubicación. Este proceso continua y require n−1 pasadas para ordenar n elementos, ya que el elemento final debe estar en su ubicación después de la pasada n−1.

Ejemplo:

def seleccion(arreglo): 
    for num_espacio in range(len(arreglo)-1,0,-1): 
        posicion_maximo=0 
        for posicion in range(1,num_espacio+1): 
            if arreglo[posicion] > arreglo[posicion_maximo]:        
                posicion_maximo = posicion 

        temp = arreglo[num_espacio] 
        arreglo[num_espacio] = arreglo[posicion_maximo]    
        arreglo[posicion_maximo] = temp