Insertion Sort
Insertion Sort (ordenamiento por inserción) es un algoritmo que construye la lista ordenada de izquierda a derecha, insertando cada elemento en su posición correcta dentro de la parte ya ordenada.
Imagina que estás ordenando cartas en tu mano: tomas una carta a la vez y la colocas en el lugar correcto.
Insertion Sort es muy eficiente para listas pequeñas o casi ordenadas, y es fácil de implementar a mano.
Paso a paso con un ejemplo
Lista inicial
[8, 3, 5, 1, 4]
Paso 1: Considerar el primer elemento como ordenado
[8]→ ya está ordenado- Lista completa:
[8, 3, 5, 1, 4]
Paso 2: Insertar el segundo elemento 3
- Comparar
3con8→ 3 < 8 → mover8a la derecha - Insertar
3en la posición correcta →[3, 8, 5, 1, 4]
Paso 3: Insertar el tercer elemento 5
- Comparar
5con8→ 5 < 8 → mover8 - Comparar
5con3→ 5 > 3 → insertar5→[3, 5, 8, 1, 4]
Paso 4: Insertar el cuarto elemento 1
- Comparar
1con8→ mover8 - Comparar
1con5→ mover5 - Comparar
1con3→ mover3 - Insertar
1→[1, 3, 5, 8, 4]
Paso 5: Insertar el quinto elemento 4
- Comparar
4con8→ mover8 - Comparar
4con5→ mover5 - Comparar
4con3→ 4 > 3 → insertar4→[1, 3, 4, 5, 8]
Resultado final
[1, 3, 4, 5, 8]
Resumen visual
[8, 3, 5, 1, 4] # inicial
[3, 8, 5, 1, 4] # insertar 3
[3, 5, 8, 1, 4] # insertar 5
[1, 3, 5, 8, 4] # insertar 1
[1, 3, 4, 5, 8] # insertar 4