La clasificación de burbujas es uno de los algoritmos de clasificación más simples que compara dos elementos de lado a lado y clasifica la matriz en orden ascendente o en orden descendente. Están disponibles numerosos algoritmos para clasificar las matrices, como el tipo de selección, y la clasificación de fusiones, etc. En este artículo, aprenderemos cómo usar la clasificación de burbujas para ordenar los elementos de la matriz.
Supongamos que tenemos una matriz sin clasificar y se nos pide que ordenemos la matriz en cualquier orden previsto (i.mi. ascendente o descendente). Luego tenemos múltiples algoritmos de clasificación, para clasificar esa matriz como clasificación de burbujas, clasificación de inserción, etc. Para este propósito, podemos usar cualquiera de estos algoritmos, ya que todos los algoritmos producirán el mismo resultado. Este artículo abordará el tipo de burbuja con ejemplos.
Trabajo del tipo de burbujas
Comienza a funcionar comparando el índice izquierdo con el índice derecho. Inicialmente, comparará los dos primeros índices de la matriz (el valor colocado en el índice 0 se comparará con el valor colocado en el índice 1). El valor del índice 0 se reemplazará solo cuando el primer índice tenga un valor menor que el valor del índice 0. A continuación, comparará el valor del índice 1 con el valor del índice 2, y así sucesivamente.
Supongamos que tenemos la siguiente matriz sin clasificar:
Sabemos que en la indexación de matrices comienza desde 0. Entonces, inicialmente, en el índice 0 el valor es 8. El valor del índice 1 es 3 y 1 se coloca en el índice 3, y así sucesivamente. Ahora, tenemos que ordenar esta matriz en orden ascendente como se muestra en la matriz dividida a continuación:
Ahora, explicaremos el funcionamiento de Bubble Sort paso a paso.
Paso 1:
Al principio, el índice 0 transporta 8 mientras el índice 1 lleva 3. Dado que tenemos que ordenar la matriz en orden ascendente, por lo tanto, el valor del índice 0 se reemplazará con el valor del índice 1. Ahora, la matriz actualizada será:
Ahora el valor del índice 1 se comparará con el valor del índice 2. El valor del índice 1 es 8, mientras que el valor del índice 2 es 1, que es inferior a 8, por lo que se cambiará y la matriz se modificará como:
Ahora, haremos una comparación entre el índice 2 y el índice 3. El valor del índice 2 es 8, que es mayor que el valor del índice 3, que es 2, por lo que los valores se cambiarán:
Ahora compare el valor del índice 3 con el valor del índice 4. En el índice 3, el valor es 8, mientras que el valor del índice 4 es -1, lo que significa que ambos valores se cambiarán:
Finalmente, el valor del índice 4 se comparará con el valor del índice 5. Una vez más, 8 es mayor de 7, por lo que se reemplazará con 7:
Ahora, la primera iteración está completa y "8" alcanza su posición apropiada. Entonces, en el siguiente paso, las comparaciones se realizarán hasta el cuarto índice ya que el valor del último índice está ordenado.
Paso 2:
Ahora, se compararán los dos primeros índices. El valor del primer índice es menor que el valor del índice 0, por lo tanto, se cambiarán los valores:
A continuación, compararemos el valor del primer índice con el valor del segundo índice. Aquí, 3 es mayor que 2, así que se reemplazará con 2:
Ahora compararemos el valor del segundo índice i.mi. 3 con el valor del 3er índice que es -1. Los valores se cambiarán nuevamente ya que 3 es mayor que -1:
El valor del 3er índice es menor que el valor del cuarto índice, por lo que seguirá siendo el mismo:
Ahora se ordenan los dos últimos índices y los valores se colocan correctamente en los índices 4 y quinto.
Paso 3:
Ahora en esta iteración, inicialmente el valor del índice 0 se comparará con el valor del primer índice. Aquí, el valor del índice 0 es 1 que es menor que el valor del primer índice que es 2. Entonces, estos valores seguirán siendo los mismos.
A continuación, compare los siguientes dos índices, aquí el valor del primer índice es mayor que el valor del segundo índice, por lo tanto, sus valores se cambiarán:
El valor del segundo índice es menor que el valor del tercer índice, por lo tanto, sus valores no se cambiarán:
Etapa 4:
Compare los dos primeros índices. El valor del índice 0 es -1, menor que el valor del primer índice, que es 1, por lo que se cambiará:
A continuación, compararemos el valor del primer índice con el valor del segundo índice. Ya están ordenados, por lo que seguirán siendo el mismo:
Finalmente, nuestra matriz se clasifica en orden ascendente.
Implementación de burbujas en JavaScript
Dado que entendimos cómo funciona la clasificación de burbujas, ahora implementaremos esta lógica en JavaScript utilizando bucles anidados:
función bubblesort (ary)En el código anterior, creamos una matriz llamada 'Ary' y le asignamos algunos datos. Luego creamos una función llamada Bubblesort y le pasamos la matriz. Una variable llamada 'bandera' se asigna inicialmente con un valor 'falso'. A continuación, el bucle for-loop se inicializa con el 0 y se ejecutará hasta que sea menor que la longitud de la matriz. Los bucles anidados se utilizan para dibujar una comparación del valor en el índice actual con el valor en el índice adyacente, los valores se cambiarán solo si el valor del índice de corriente es mayor que el valor presente en su índice adyacente. El valor de la bandera se reemplazará por verdadero si se cambia un valor durante la iteración. Finalmente, la matriz se llama usando la función bubblesort. La salida será:
Conclusión
La clasificación de burbujas es un algoritmo de clasificación básica que intercambia los elementos de lado a lado una y otra vez hasta que no estén en orden adecuado. En este artículo, presentamos todos los conceptos básicos y el conocimiento esencial necesario para comprender el concepto de clasificación de burbujas en JavaScript. Comenzando con la introducción que describió qué es el tipo de burbuja y cómo funciona. Luego tomamos un ejemplo para comprender el concepto de burbuja. Además, implementamos el mismo ejemplo en JavaScript y discutimos su trabajo en detalle.