Selection Sort
Selection Sort es un algoritmo similar a Bubble Sort en el sentido de que realiza de manera iterativa intercambios entre elementos para acomodarlos en su posición ordenada.
La diferencia con Bubble Sort está en que Selection Sort utiliza un valor min
para mantener el registro del índice del valor más pequeño encontrado durante cada iteración.
Los pasos del algoritmo son:
- Empezando desde el primer elemento de la lista, se intenta encontrar el valor más pequeño en el resto de la lista (de la posición actual hasta el final).
- Intercambia el valor más pequeño encontrado con el valor de la posición actual.
- Mover al siguiente elemento y repetir hasta que se haya recorrido toda la lista.
- La lista estará ordenada cuando se haya pasado por todos los elementos.
def selection_sort(nums):
for i in range(len(nums)):
min_idx = i
for j in range(i + 1, len(nums)):
if nums[j] < nums[min_idx]:
min_idx = j
nums[i], nums[min_idx] = nums[min_idx], nums[i]
return nums