Saltar al contenido principal

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 3 con 8 → 3 < 8 → mover 8 a la derecha
  • Insertar 3 en la posición correcta → [3, 8, 5, 1, 4]

Paso 3: Insertar el tercer elemento 5

  • Comparar 5 con 8 → 5 < 8 → mover 8
  • Comparar 5 con 3 → 5 > 3 → insertar 5[3, 5, 8, 1, 4]

Paso 4: Insertar el cuarto elemento 1

  • Comparar 1 con 8 → mover 8
  • Comparar 1 con 5 → mover 5
  • Comparar 1 con 3 → mover 3
  • Insertar 1[1, 3, 5, 8, 4]

Paso 5: Insertar el quinto elemento 4

  • Comparar 4 con 8 → mover 8
  • Comparar 4 con 5 → mover 5
  • Comparar 4 con 3 → 4 > 3 → insertar 4[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