Saltar al contenido
Home » Ordenación por Inserción

Ordenación por Inserción

El algoritmo de ordenación por inserción es otra técnica fundamental para organizar elementos en un arreglo. Aunque puede no ser tan eficiente como otros métodos en arreglos grandes, el ordenamiento por inserción es valioso para entender cómo los algoritmos de ordenación funcionan en la práctica. En este artículo, exploraremos a fondo el algoritmo de ordenación por inserción en Java, ofreciendo un ejemplo de programación con explicaciones paso a paso.

Introdución 

El algoritmo de ordenación por inserción se basa en la idea de construir un arreglo ordenado gradualmente al insertar elementos no ordenados en su posición correcta. A medida que avanzamos a través del arreglo, insertamos cada elemento en su posición correcta en la sección ya ordenada del arreglo. Aunque no es la opción más eficiente para arreglos muy grandes, su simplicidad y su capacidad para manejar datos parcialmente ordenados lo convierten en una opción viable.

Ejemplo de Programacion

A continuación, presentamos un ejemplo de implementación del algoritmo de ordenación por inserción en Java, junto con comentarios que desglosan cada paso:

				
					public class InsertionSort {
    public static void main(String[] args) {
        int[] arreglo = {5, 2, 9, 1, 5, 6};
        System.out.println("Arreglo original: " + Arrays.toString(arreglo));
        insertionSort(arreglo);
        System.out.println("Arreglo ordenado: " + Arrays.toString(arreglo));
    }
    public static void insertionSort(int[] arreglo) {
        int n = arreglo.length;
        for (int i = 1; i < n; i++) {
            int valorActual = arreglo[i];
            int j = i - 1;
            while (j >= 0 && arreglo[j] > valorActual) {
                arreglo[j + 1] = arreglo[j];
                j--;
            }
            arreglo[j + 1] = valorActual;
        }
    }
}

				
			

Comentarios Explicativos

  • El arreglo es el arreglo que queremos ordenar.
  • insertionSort es la función encargada de realizar el algoritmo de ordenación por inserción.
  • El bucle for itera a través del arreglo, comenzando desde el segundo elemento (índice 1). Esto se debe a que consideramos la primera posición como una sección ya ordenada.
  • valorActual es el elemento que estamos insertando en la sección ordenada.
  • El bucle while realiza comparaciones y desplazamientos hacia la derecha para encontrar la posición correcta de valorActual dentro de la sección ordenada.
  • Al finalizar la ejecución del algoritmo, el arreglo estará ordenado en orden ascendente.

Conclución 

El algoritmo de ordenación por inserción es una valiosa adición al conjunto de habilidades de cualquier programador. Aunque puede no ser la opción más eficiente para arreglos grandes, su enfoque en la construcción gradual de un arreglo ordenado lo convierte en un método efectivo para arreglos parcialmente ordenados o pequeños. Al estudiar y experimentar con este algoritmo, los desarrolladores pueden comprender cómo los algoritmos de ordenación funcionan en la práctica y cómo aplicarlos a diversos problemas de programación.