Ir al contenido principal

Algoritmo de Ordenamiento de Burbuja

 

¿Qué es el Algoritmo de Ordenamiento de Burbuja?

El Algoritmo de Ordenamiento de Burbuja, o Bubble Sort, es uno de los algoritmos de ordenamiento más básicos y conocidos. Su objetivo es ordenar una lista de elementos (números, palabras, etc.) comparando pares consecutivos y realizando intercambios cuando es necesario. A pesar de ser menos eficiente para listas grandes, es excelente para entender conceptos fundamentales de ordenamiento.

¿Cómo Funciona?

Bubble Sort funciona revisando repetidamente una lista de elementos, comparando elementos adyacentes e intercambiándolos si están en el orden incorrecto. Este proceso se repite hasta que la lista esté completamente ordenada.

  1. Comienza en el primer elemento de la lista y compara el primer elemento con el segundo.
  2. Si el primer elemento es mayor que el segundo, intercambian posiciones.
  3. Continúa comparando pares consecutivos hasta llegar al final de la lista.
  4. Repite el proceso hasta que en una pasada completa no haya intercambios, indicando que la lista está ordenada.

Ejemplo en C++

Aquí un ejemplo básico de implementación de Bubble Sort en C++:

#include <iostream> void bubbleSort(int arr[], int n) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { std::swap(arr[j], arr[j + 1]); } } } } int main() { int arr[] = {5, 3, 8, 4, 2}; int n = sizeof(arr) / sizeof(arr[0]); bubbleSort(arr, n); std::cout << "Array ordenado: "; for (int i = 0; i < n; i++) { std::cout << arr[i] << " "; } return 0; }

En este código:

  • La función bubbleSort recibe un array y su tamaño, y luego aplica el algoritmo de Bubble Sort.
  • Se utiliza std::swap para intercambiar los elementos cuando están en el orden incorrecto.
  • Al final, se imprime el array ordenado.

Ventajas y Desventajas

  • Ventajas: Fácil de entender e implementar, útil para listas pequeñas o cuando se enseña el concepto de algoritmos de ordenamiento.
  • Desventajas: Ineficiente para listas grandes; su complejidad es O(n2)O(n^2), lo que significa que su tiempo de ejecución aumenta rápidamente con el tamaño de la lista.


Comentarios

Publicar un comentario