Algoritmo de Inserción


El algoritmo de inserción en programación es un método de ordenamiento que funciona tomando un elemento a la vez e insertándolo en la posición correcta en la parte ordenada de la lista, desplazando los elementos mayores hacia la derecha para hacer espacio. Este proceso se repite hasta que todos los elementos estén en su lugar.

Ventajas:

  • Sencillez: Es fácil de visualizar y explicar.
  • Estable: Preserva el orden de elementos iguales.
  • Bajo uso de memoria: Solo requiere una cantidad constante de memoria adicional.

Desventajas:

  • Muchos intercambios: Esto puede ser un problema para algunos tipos de datos.
  • Ineficiencia: Lento para conjuntos de datos grandes.
  • Comparaciones innecesarias: Realiza muchas comparaciones innecesarias.

Demostración del Algoritmo

Instrucciones:

1. Ingresar valores numéricos del 1 al 20.
2. Se necesitan por lo menos 3 valores para poder ser ordenados.
3. Presione "Aleatorio" para generar valores al azar.
4. Cada valor se enlista en una serie de recuadros en la parte inferior.
5. El elemento tomado y que está siendo ordenado se muestra en la parte superior de color rojo.
6. Presione "Ordenar" para ejecutar el algoritmo y ordenar los valores de forma ascendente.
7. Presione "Limpiar" para borrar todos los recuadros.


Código:

function algoritmoInsercion(arreglo){
    for(let i=1; i < arreglo.length; i++){
        let valorActual = arreglo[i];
        let j = i-1;
        while(j >= 0 && arreglo[j] > valorActual){
            arreglo[j+1] = arreglo[j];
            j--;
        }
        arreglo[j+1] = valorActual;
    }
    return arreglo;
}