Informática Algoritmos A tu ritmo
Entiende los algoritmos.
Un paso cada vez.
Mira cómo cambian los datos, comprende cada decisión y prueba qué harías tú.
Inserción
Coloca cada valor en su sitio dentro de la parte que ya está ordenada.
Los números de abajo son posiciones. Empiezan en 0.
La primera posición ya forma una parte ordenada. Insertaremos los siguientes valores uno a uno.
Ver el pseudocódigo La línea activa acompaña al paso
para i = 1 … n − 1:j = imientras j > 0:si a[j − 1] ≤ a[j]: pararintercambiar(a[j − 1], a[j])j = j − 1// a[0 … i] está ordenada
El pseudocódigo describe la regla. Los pasos visuales también incluyen momentos para señalar y explicar.
Personalizar los datos También puedes repetir valores
Comparar los tres con esta listaContadores de la ejecución completa
| Algoritmo | Comparaciones | Intercambios |
|---|---|---|
| Inserción | 22 | 18 |
| Selección | 28 | 6 |
| Burbuja | 27 | 18 |
Prueba una lista ordenada o inversa y observa qué cambia. El selector conserva la misma lista al pasar de un algoritmo de ordenación a otro.
La idea de inserción.
Piensa en ordenar cartas en tu mano. Tomas la siguiente carta y la mueves hacia la izquierda hasta que encaja entre las anteriores.
Al terminar cada vuelta, la parte de la izquierda está ordenada. Sus valores todavía pueden cambiar de posición cuando llegue uno más pequeño.
¿Cómo crece el trabajo?
n es la cantidad de valores. En una lista ordenada, cada inserción se detiene tras comparar una vez. En una lista inversa, cada valor debe recorrer toda la parte anterior.
Memoria y estabilidad
Memoria auxiliar del algoritmo: O(1). Las copias de los pasos que guarda esta web son parte de la visualización, no del algoritmo.
Un algoritmo estable mantiene el orden original de los valores iguales. Estabilidad: Sí, con esta implementación. Prueba una lista con valores repetidos: las letras permiten seguir su identidad.
¿Qué harías en el siguiente paso?
Una lista nueva, con sus propios datos. Aplica la regla de inserción.
Los números de abajo son posiciones. Empiezan en 0.