domingo, 1 de marzo de 2015

Selection Sort



El ordenamiento por selección (Selection Sort en inglés) es un algoritmo de ordenamiento que requiere O(n^2) operaciones para ordenar una lista de n elementos.
Su funcionamiento es el siguiente:
  • Buscar el mínimo elemento de la lista
  • Intercambiarlo con el primero
  • Buscar el siguiente mínimo en el resto de la lista
  • Intercambiarlo con el segundo
Una desventaja de este algoritmo respecto a otros como el de burbuja o de inserción directa es que no mejora su rendimiento cuando los datos ya están ordenados o parcialmente ordenados.

A continuación se muestra el código para este tipo de ordenamiento en Python:
 
#SELECTION SORT

def selectionSort(prueba):
   for i in range(len(prueba)-1,0,-1):
       max=0
       for j in range(1,i+1):
           if prueba[j]>prueba[max]:
               max = j

       temp = prueba[i]
       prueba[i] = prueba[max]
       prueba[max] = temp

prueba = [1,50,34,2,7,788]
selectionSort(prueba)

print(prueba)

No hay comentarios.:

Publicar un comentario