Ordenamiento por selección | Selection Sort
Repo: https://github.com/umarquez/100DaysOfC0D3/tree/master/3-selection_sort
¿Cómo funciona?
Se trata de un algoritmo de ordenamiento del tipo O(n²)solo que en este caso no desplazaremos cada elemento una posición a la vez, como en el Ordenamiento por inserción, en su lugar nos enfocaremos en buscar el número menor del resto de la lista y una vez lo encontremos, lo intercambiaremos por el valor de la posición que estamos procesando.
Ejemplo:
Trataremos de ordenar la siguiente lista de enteros:
Pasos 1 →4
- Tomamos el primer elemento de la lista y recorremos el resto de elementos hasta encontrar el número con el menor valor.
- Intercambiamos este con el primer elemento de la lista, pues se tratará del elemento más pequeño de toda la lista.
Pasos 5 →7
- Enseguida tomamos el segundo elemento de la lista y recorremos el resto de los elementos en busca de un elemento menor a este
En este cano, no será necesario realizar ningún intercambio pues el elemento ya se encuentra en su ubicación final.
Pasos 8→9
- Tomamos el tercer elemento de la lista y buscamos el siguiente elemento más pequeño para intercambiarlo con este.
Paso 10
- finalmente evaluamos si el último elemento debe ser intercambiado.