logo

Algoritmo de clasificación de burbujas

En este artículo, analizaremos el algoritmo de clasificación de burbujas. El procedimiento de trabajo de clasificación por burbujas es el más sencillo. Este artículo será muy útil e interesante para los estudiantes, ya que podrían enfrentarse a la clasificación de burbujas como una pregunta en sus exámenes. Por eso es importante discutir el tema.

carnero potineni

La clasificación de burbujas funciona mediante el intercambio repetido de elementos adyacentes hasta que no estén en el orden previsto. Se llama clasificación de burbujas porque el movimiento de los elementos de una matriz es similar al movimiento de las burbujas de aire en el agua. Las burbujas del agua suben a la superficie; de manera similar, los elementos de la matriz en ordenación por burbujas se mueven hasta el final en cada iteración.

Aunque es fácil de usar, se utiliza principalmente como herramienta educativa porque el rendimiento de la clasificación de burbujas es deficiente en el mundo real. No es adecuado para grandes conjuntos de datos. La complejidad promedio y en el peor de los casos de la clasificación de burbujas es En2), dónde norte es una serie de elementos.

El pantalón corto tipo burbuja se utiliza principalmente en:

  • la complejidad no importa
  • Se prefiere código simple y corto.

Algoritmo

En el algoritmo dado a continuación, supongamos llegar es una matriz de norte elementos. el supuesto intercambio La función en el algoritmo intercambiará los valores de los elementos de la matriz dados.

 begin BubbleSort(arr) for all array elements if arr[i] > arr[i+1] swap(arr[i], arr[i+1]) end if end for return arr end BubbleSort 

Funcionamiento del algoritmo de clasificación de burbujas

Ahora, veamos el funcionamiento del algoritmo de clasificación de burbujas.

Para comprender el funcionamiento del algoritmo de clasificación de burbujas, tomemos una matriz sin clasificar. Estamos tomando una matriz corta y precisa, ya que sabemos que la complejidad del tipo de burbujas es En2).

Dejemos que los elementos de la matriz sean:

Algoritmo de clasificación de burbujas

Primer pase

La clasificación comenzará desde los dos elementos iniciales. Comparemos para comprobar cuál es mayor.

Algoritmo de clasificación de burbujas

Aquí, 32 es mayor que 13 (32 > 13), por lo que ya está ordenado. Ahora compara 32 con 26.

Algoritmo de clasificación de burbujas

Aquí, 26 es menor que 36. Por lo tanto, es necesario intercambiar. Después de intercambiar, la nueva matriz se verá así:

Algoritmo de clasificación de burbujas

Ahora, compara 32 y 35.

Algoritmo de clasificación de burbujas

Aquí, 35 es mayor que 32. Por lo tanto, no es necesario intercambiarlos porque ya están ordenados.

Ahora, la comparación estará entre 35 y 10.

Algoritmo de clasificación de burbujas

Aquí, 10 es menor que 35 que no están ordenados. Por lo tanto, es necesario el intercambio. Ahora llegamos al final de la matriz. Después del primer paso, la matriz será:

Algoritmo de clasificación de burbujas

Ahora, pase a la segunda iteración.

Segundo pase

Se seguirá el mismo proceso para la segunda iteración.

Algoritmo de clasificación de burbujas

Aquí, 10 es menor que 32. Por lo tanto, es necesario realizar el intercambio. Después del intercambio, la matriz será:

Algoritmo de clasificación de burbujas

Ahora, pase a la tercera iteración.

Tercer pase

Se seguirá el mismo proceso para la tercera iteración.

mejores autos del mundo
Algoritmo de clasificación de burbujas

Aquí, 10 es menor que 26. Por lo tanto, es necesario intercambiar. Después del intercambio, la matriz será:

Algoritmo de clasificación de burbujas

Ahora, pase a la cuarta iteración.

Cuarto pase

De manera similar, después de la cuarta iteración, la matriz será:

Algoritmo de clasificación de burbujas

Por lo tanto, no es necesario realizar ningún intercambio, por lo que la matriz está completamente ordenada.

Complejidad de clasificación de burbujas

Ahora, veamos la complejidad temporal de la clasificación de burbujas en el mejor de los casos, el caso promedio y el peor de los casos. También veremos la complejidad espacial del tipo de burbujas.

1. Complejidad del tiempo

Caso Complejidad del tiempo
Mejor caso En)
Caso promedio En2)
Peor de los casos En2)
    Complejidad en el mejor de los casos:Ocurre cuando no se requiere clasificación, es decir, la matriz ya está ordenada. La complejidad temporal del mejor de los casos para la clasificación de burbujas es En). Complejidad promedio del caso -Ocurre cuando los elementos de la matriz están en un orden desordenado que no es ascendente ni descendente correctamente. La complejidad promedio en el tiempo de caso de la clasificación de burbujas es En2). Peor caso de complejidad:Ocurre cuando es necesario ordenar los elementos de la matriz en orden inverso. Eso significa que suponga que tiene que ordenar los elementos de la matriz en orden ascendente, pero sus elementos están en orden descendente. La complejidad temporal del peor de los casos para la clasificación de burbujas es En2).

2. Complejidad espacial

Complejidad espacial O(1)
Estable
  • La complejidad espacial del tipo de burbujas es O (1). Esto se debe a que, en la clasificación de burbujas, se requiere una variable adicional para el intercambio.
  • La complejidad espacial de la clasificación de burbujas optimizada es O (2). Esto se debe a que se requieren dos variables adicionales en la clasificación de burbujas optimizada.

Ahora, analicemos el algoritmo optimizado de clasificación de burbujas.

Algoritmo de clasificación de burbujas optimizado

En el algoritmo de clasificación de burbujas, las comparaciones se realizan incluso cuando la matriz ya está ordenada. Por eso, el tiempo de ejecución aumenta.

Para resolverlo, podemos usar una variable extra. intercambiado. Está configurado para verdadero si el intercambio lo requiere; de lo contrario, se establece en FALSO.

Será útil, como se supone después de una iteración, si no se requiere intercambio, el valor de la variable intercambiado será FALSO. Significa que los elementos ya están ordenados y no se requieren más iteraciones.

Este método reducirá el tiempo de ejecución y también optimizará la clasificación de burbujas.

Algoritmo para clasificación de burbujas optimizada

 bubbleSort(array) n = length(array) repeat swapped = false for i = 1 to n - 1 if array[i - 1] > array[i], then swap(array[i - 1], array[i]) swapped = true end if end for n = n - 1 until not swapped end bubbleSort 

Implementación de clasificación de burbujas.

Ahora, veamos los programas de Bubble sort en diferentes lenguajes de programación.

variables globales js

Programa: Escriba un programa para implementar la clasificación de burbujas en lenguaje C.

 #include void print(int a[], int n) //function to print array elements { int i; for(i = 0; i <n; i++) { printf('%d ',a[i]); } void bubble(int a[], int n) function to implement bubble sort i, j, temp; for(i="0;" i < n; for(j="i+1;" j j++) if(a[j] a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" main () j,temp; a[5]="{" 10, 35, 32, 13, 26}; n="sizeof(a)/sizeof(a[0]);" printf('before sorting array elements are - 
'); print(a, n); bubble(a, printf('
after pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-13.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in C++ language.</p> <pre> #include using namespace std; void print(int a[], int n) //function to print array elements { int i; for(i = 0; i <n; i++) { cout< <a[i]<<' '; } void bubble(int a[], int n) function to implement bubble sort i, j, temp; for(i="0;" i < n; for(j="i+1;" j j++) if(a[j] a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" main() j,temp; a[5]="{45," 1, 32, 13, 26}; n="sizeof(a)/sizeof(a[0]);" cout<<'before sorting array elements are - 
'; print(a, n); bubble(a, cout<<'
after return 0; pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-14.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in C# language.</p> <pre> using System; public class Bubble { static void print (int[]a) //function to print array elements { int n = a.Length; int i; for (i = 0; i <n; 26 i++) { console.write (' ' + a[i]); } static void bubble (int[]a) function to implement sort int n="a.Length;" i, j, temp; for (i="0;" i < n; (j="i" 1; j j++) if (a[j] a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" public main () int[] a="{" 45, 1, 32, 13, }; ('
 before sorting array elements are - 
'); print (a); console.writeline (); after pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-15.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in Java.</p> <pre> public class Bubble { static void print (int a[]) //function to print array elements { int n = a.length; int i; for (i = 0; i <n; i++) { system.out.print(a[i] + ' '); } static void bubblesort (int a[]) function to implement bubble sort int n="a.length;" i, j, temp; for (i="0;" i < n; (j="i" 1; j j++) if (a[j] a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" public main(string[] args) a[]="{35," 10, 31, 11, 26}; b1="new" bubble(); system.out.println('before sorting array elements are - b1.print(a); b1.bubblesort(a); system.out.println(); system.out.println('after pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-16.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in JavaScript.</p> <pre> var a = [35, 10, 31, 11, 26]; function print() //function to print array elements { for(i = 0; i <5; i++) { document.writeln(a[i]); } document.write('before sorting array elements are - ' + <br>&apos;); print(); for(i = 0; i <5; i++) { for (j="0;" j < 5; j++) if(a[i] a[j]) temp="a[i];" a[i]="a[j];" a[j]="temp;" } document.write(' <br> After sorting array elements are - &apos; + &apos; <br>&apos;); print(); </5;></5;></pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-17.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in PHP.</p> <pre> <?php $a = array(2, 45, 88, 11, 5); function printArray($a) { for($i = 0; $i < 5; $i++) { print_r($a[$i]); echo ' '; } } echo 'Before sorting array elements are - <br>&apos;; printArray($a); for($i = 0; $i <5; $i++) { for ($j="0;" $j < 5; $j++) if($a[$i] $a[$j]) $temp="$a[$i];" $a[$i]="$a[$j];" $a[$j]="$temp;" } echo ' <br> After sorting array elements are - <br>&apos;; printArray($a); ?&gt; </5;></pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-18.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in python.</p> <pre> a = [35, 10, 31, 11, 26] print(&apos;Before sorting array elements are - &apos;) for i in a: print(i, end = &apos; &apos;) for i in range(0,len(a)): for j in range(i+1,len(a)): if a[j] <a[i]: temp="a[j]" a[j]="a[i]" a[i]="temp" print('
after sorting array elements are - ') for i in a: print(i, end=" " ) < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-19.webp" alt="Bubble sort Algorithm"> <p>So, that&apos;s all about the article. Hope the article will be helpful and informative to you.</p> <p>This article was not only limited to the algorithm. We have also discussed the algorithm&apos;s complexity, working, optimized form, and implementation in different programming languages.</p> <hr></a[i]:></pre></n;></pre></n;></pre></n;></pre></n;>

Producción

Algoritmo de clasificación de burbujas

Programa: Escriba un programa para implementar la clasificación de burbujas en PHP.

 <?php $a = array(2, 45, 88, 11, 5); function printArray($a) { for($i = 0; $i < 5; $i++) { print_r($a[$i]); echo \' \'; } } echo \'Before sorting array elements are - <br>&apos;; printArray($a); for($i = 0; $i <5; $i++) { for ($j="0;" $j < 5; $j++) if($a[$i] $a[$j]) $temp="$a[$i];" $a[$i]="$a[$j];" $a[$j]="$temp;" } echo \' <br> After sorting array elements are - <br>&apos;; printArray($a); ?&gt; </5;>

Producción

Algoritmo de clasificación de burbujas

Programa: Escriba un programa para implementar la clasificación de burbujas en Python.

 a = [35, 10, 31, 11, 26] print(&apos;Before sorting array elements are - &apos;) for i in a: print(i, end = &apos; &apos;) for i in range(0,len(a)): for j in range(i+1,len(a)): if a[j] <a[i]: temp="a[j]" a[j]="a[i]" a[i]="temp" print(\'
after sorting array elements are - \') for i in a: print(i, end=" " ) < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-19.webp" alt="Bubble sort Algorithm"> <p>So, that&apos;s all about the article. Hope the article will be helpful and informative to you.</p> <p>This article was not only limited to the algorithm. We have also discussed the algorithm&apos;s complexity, working, optimized form, and implementation in different programming languages.</p> <hr></a[i]:>