algoritmo de ordenamiento burbuja

Ordenamiento de Burbuja (Bubble Sort) en Java

El ordenamiento de burbuja o también conocido por su nombre en ingles Bubble Sort, es uno de los algoritmos más básicos para hacer ordenamientos.

¿Como funciona este algoritmo?

Este algoritmo de ordenamiento es un algoritmo basado en la comparación en el que cada par de elementos adyacentes se compara y los elementos se intercambian si no están en orden. Este algoritmo no es adecuado para grandes conjuntos de datos, ya que su complejidad promedio y en el peor de los casos es de Ο(n2), donde n es el número de elementos.

Es uno de los algoritmos primitivos en su forma de ordenar, pues es bastante lento.

¿Porque el algoritmo Bubble Sort es demasiado lento?

En esencia, el algoritmo de ordenamiento burbuja es lento porque cada arreglo tiene que recorrerlo n elevado al cuadrado.

¿No entiendes a que me refiero?

Quizás con esta imagen puedes comprender mejor.

como funciona el agoritmo de ordenamiento burbuja o bubble sort

Para el arreglo antes expuesto, de 9 posiciones, se necesitaron 9 pasos para poder ordenarlo por completo.

Ahora veamos el código en Java para implementar el algoritmo burbuja o Bubble Sort.

Recomendado:   APP INVENTOR: CAMBIAR DE PANTALLA USANDO LIST PICKER (SELECCIONAR PANTALLA)

Codigo en Java del algoritmo Bubble Sort u ordenamiento Burbuja

El siguiente es el código en Java para el algoritmo de ordenamiento llamado Burbuja. Es un método que se basa en comparar dos posiciones del arreglo, luego si la primera posición es mayor que la otra, entonces las intercambian.

Bubble Sort con números

El siguiente es el código para ordenar un arreglo de números enteros con el algoritmo de ordenamiento burbuja.

static void bubbleSort(int [] arr) {
int n = arr.length;
int temp = 0;
for(int i=0; i < n; i++){
for(int j=1; j < (n-i); j++){

if( arr [j-1] > arr[j]){
//swap elements
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}
} }

Bubble Sort con letras o strings

El siguiente es el código para ordenar un arreglo de cadenas o palabras con el algoritmo de ordenamiento burbuja.

static void bubbleSort(String[] arr) {
int n = arr.length;
String temp = "";
for(int i=0; i < n; i++){
for(int j=1; j < (n-i); j++){
if( arr[j-1].compareTo(arr[j]) > 0){
//swap elements
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}
}

Espero que este algoritmo te haya servido para tus proyectos.

Entradas relacionadas