1.2.1 Ordenamiento por inserción
El ordenamiento por inserción es un algoritmo de ordenamiento que construye una secuencia ordenada de elementos de manera incremental. Funciona de forma similar a cómo organizaríamos un conjunto de cartas en nuestra mano: tomamos una carta a la vez y la insertamos en su posición adecuada dentro de las cartas que ya están ordenadas.
El proceso comienza con el segundo elemento de la lista. Compara este elemento con los que ya están en la lista ordenada (que al principio contiene solo el primer elemento). Si el segundo elemento es menor, se coloca antes del primero; de lo contrario, permanece en su lugar. Luego, se avanza al siguiente elemento y se repite el proceso. Este método sigue hasta que todos los elementos se han revisado y están en su posición correcta.
Una de las ventajas del ordenamiento por inserción es su simplicidad y su eficiencia en listas pequeñas o en listas que ya están parcialmente ordenadas. Su complejidad temporal promedio es O(n2), pero en el mejor de los casos, cuando la lista ya está ordenada, su complejidad es O(n). Esto lo convierte en una opción efectiva para situaciones en las que se requiere una clasificación rápida y no se dispone de una lista grande.
Sin embargo, su ineficiencia en listas grandes y no ordenadas hace que no sea la opción más adecuada para todos los escenarios. Aun así, el ordenamiento por inserción se utiliza a menudo como parte de otros algoritmos de ordenamiento más complejos, como el ordenamiento por mezcla, para mejorar la eficiencia en pequeños subarreglos.