Bubble Sort

¿Qué es Bubble Sort?

El algoritmo Bubble Sort (ordenamiento de burbuja) es una técnica sencilla de ordenamiento que compara repetidamente elementos adyacentes en un arreglo y los intercambia si están en el orden incorrecto. Este proceso se repite hasta que todo el arreglo está ordenado.

El Código

            
function bubbleSort(arr) {
  let n = arr.length;
  for (let i = 0; i < n - 1; i++) {
    for (let j = 0; j < n - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        // Intercambia arr[j] y arr[j + 1]
        let temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }
  return arr;
}

// Ejemplo de uso
const array = [64, 34, 25, 12, 22, 11, 90];
console.log("Array ordenado:", bubbleSort(array));
                
            
Ver en repositorio: GitHub

Puntos Clave del Algoritmo

  • Entrada: Un arreglo desordenado (arr).
  • Salida: El arreglo ordenado de menor a mayor.
  • Método:
    • Compara cada par de elementos adyacentes.
    • Intercambia los elementos si están en el orden incorrecto.
    • El elemento más grande "flota" hacia el final del arreglo en cada iteración.
  • Complejidad:
    • Peor caso: O(n²) cuando el arreglo está en orden inverso.
    • Mejor caso: O(n) si el arreglo ya está ordenado.
  • Limitación: No es eficiente para arreglos grandes en comparación con algoritmos más avanzados como Merge Sort o Quick Sort.

Uso Práctico

Bubble Sort es útil en escenarios educativos para enseñar conceptos básicos de algoritmos de ordenamiento, pero no se utiliza frecuentemente en aplicaciones del mundo real debido a su baja eficiencia.

Ejemplo de Ejecución

Arreglo inicial: [64, 34, 25, 12, 22, 11, 90]

Proceso de ordenamiento:

  1. Iteración 1: [34, 25, 12, 22, 11, 64, 90]
  2. Iteración 2: [25, 12, 22, 11, 34, 64, 90]
  3. Iteración 3: [12, 22, 11, 25, 34, 64, 90]
  4. Iteración 4: [12, 11, 22, 25, 34, 64, 90]
  5. Iteración 5: [11, 12, 22, 25, 34, 64, 90]

Arreglo final ordenado: [11, 12, 22, 25, 34, 64, 90]

Información Adicional

Aunque Bubble Sort es un algoritmo fácil de entender, no es adecuado para problemas de gran escala. Su importancia radica en el aprendizaje de conceptos básicos de algoritmos, como comparaciones e intercambios.

Whatsapp Mentores Tech