¿Cómo implementar Bubble Sort en Python?



En este blog, aprenderá el código y la explicación de la clasificación de una lista de Python usando la clasificación de burbujas usando el método de intercambio.

Ordenar significa ordenar cualquier dato en orden creciente o decreciente según alguna relación lineal entre los elementos. Este artículo sobre clasificación de burbujas en le ayudará a comprender este concepto en detalle.

Cubriremos los siguientes temas en este blog:





¿Qué es Bubble Sort?

La clasificación de burbujas también se conoce como clasificación de hundimiento. Es un algoritmo de clasificación simple que recorre continuamente la lista para clasificar, comparando cada par de elementos adyacentes e intercambiándolos si no están en el orden correcto. Los pasos se repiten hasta que no se necesitan más intercambios, que es cuando se ordena la lista.

Pasos para realizar una clasificación de burbujas

  • Compare el primer y segundo elemento de la lista y cámbielo si están en el orden incorrecto.
  • Compare el segundo y tercer elemento y cámbielos si están en el orden incorrecto.
  • Proceda de manera similar hasta el último elemento de la lista de manera similar.
  • Siga repitiendo todos los pasos anteriores hasta que la lista esté ordenada.

Los pasos anteriores serán más claros con las siguientes visualizaciones:



Clasificación de burbujas en Python - Edureka



Algoritmo de clasificación de burbujas

Ahora veamos el algoritmo detrás de Bubble Sort.

Primer pase:

( 16,19 ,11,15,10) –> ( 16,19 ,11,15,10) - El algoritmo compara los dos primeros elementos e intercambia desde 19> 16

(16, 19,11 ,15,10) –> (16, 11,19 ,15,10) - Swap desde 19> 11

(16,11, 19,15 ,10) –> ( 16,11, 15,19 , 10) - Swap desde 19> 15

( 16,11,15, 19,10 ) –> ( 16,11,15, 10,19 ) - Ahora, como estos elementos ya están en el orden correcto (19> 10), el algoritmo no los intercambia.

Segundo paso:

( 16,11 ,15,10,19 ) –> ( 11,16 , 15,10,19) - Swap desde 16> 11

( 11, 16,15 ,10,19 ) –> ( 11, 15,16 , 10,19) - Swap desde 16> 15

( 11,15, 16,10 ,19 ) –> ( 11,15, 10,16 , 19) - Swap desde 16> 10

( 11,15,10,16,19 ) –> ( 11,15,10,16,19 )

los está ordenado, pero nuestro algoritmo no sabe si está completo. Por lo tanto, necesita otro pase completo sin ningún cambio para saber que está ordenado.

Tercer pase:

( 11, 15,10 ,16,19 ) –> ( 11, 15,10 ,16,19 )

( 11, 15,10 ,16,19 ) –> ( 11, 10,15 , 16,19) - Intercambiar desde 15> 10

( 11,10,15,16,19 ) –> ( 11,10,15,16,19 )

( 11,10,15,16,19 ) –> ( 11,10,15,16,19 )

Cuarto pase:

( 11,10 ,15,16,19 ) –> ( 10,11 , 15,16,19) - Intercambiar desde 11> 10

La salida final es (10,11,15,16,19)

Codifiquemos esto ahora -

Programa Python para implementar Bubble Sort

a = [16, 19, 11, 15, 10, 12, 14]

que hace trim en java
# bucle de repetición len (a) (número de elementos) número de veces para j en el rango (len (a)): # intercambiado inicialmente es falso intercambiado = Falso i = 0 mientras ia [i + 1]: # intercambiado a [i ], a [i + 1] = a [i + 1], a [i] #Cambiando el valor de swapped swapped = True i = i + 1 #si swapped es falso, entonces la lista está ordenada # podemos detener el ciclo si se intercambia == Falso: romper impresión (a)
 SALIDA: 


En el código anterior, comparamos los números adyacentes y los intercambiamos si no están en el orden correcto. Repita el mismo proceso len (a) varias veces. Hemos asignado una variable 'intercambiada' y la hemos convertido en 'Verdadero' si se intercambian dos elementos en una iteración. Y si no hay intercambio de elementos, entonces la lista ya está ordenada y, por lo tanto, no hay ningún cambio en el valor de 'swapped' y podemos romper el ciclo.

Con esto, llegamos al final del blog titulado “Cómo implementar Bubble Sort en Python”. Espero que el contenido agregue valor a su conocimiento de Python.

Asegúrese de practicar tanto como sea posible y revertir su experiencia.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog 'Cómo implementar Bubble Sort en Python' y nos comunicaremos con usted lo antes posible.

Para obtener un conocimiento profundo de Python junto con sus diversas aplicaciones, puede inscribirse en Live con soporte 24/7 y acceso de por vida.