Introducción a Bubble Sort en Python

Bubble sort es un algoritmo de clasificación simple y lógico. Su principio de funcionamiento se basa en intercambiar recursivamente elementos adyacentes si el orden es incorrecto. En este tema, vamos a aprender sobre Bubble Sort en Python.

El tipo de burbuja a veces también se conoce como tipo de hundimiento, tipo de ondulación.

Veamos a través de un ejemplo:

Primer intento

( 6 1 4 3) -> ( 1 6 4 2): Aquí se intercambian dos elementos si el orden no es correcto.

(1 6 4 2) -> (1 4 6 2): Aquí los dos elementos siguientes se intercambian si el orden no es correcto.

(1 4 6 2 ) -> (1 4 2 6 ): Aquí los dos elementos siguientes se intercambian si el orden no es correcto.

Segunda carrera

( 1 4 2 6) -> ( 1 4 2 6): Aquí se comparan dos elementos, pero no se intercambian porque el orden es correcto.

(1 4 2 6) -> (1 2 4 6): Aquí se intercambian los siguientes dos elementos, ya que el orden no era correcto.

(1 2 4 6 ) -> (1 2 4 6 ): Aquí se comparan los dos últimos elementos, pero no se intercambiaron ya que el orden es

Ahora sabemos que la matriz se ve ordenada, sin embargo, se requiere una ejecución sin ningún intercambio, para que el algoritmo sepa si se realizó la clasificación.

Tercera carrera

( 1 2 4 6) -> ( 1 2 4 6): No se intercambian los primeros dos elementos.

(1 2 4 6) -> (1 2 4 6): Sin intercambio en los siguientes dos elementos.

(1 2 4 6 ) -> (1 2 4 6 ): Sin intercambio en los últimos dos elementos.

Como no se produjeron intercambios en ninguna etapa, ahora el algoritmo entiende que la clasificación es perfecta.

La clasificación de burbujas tiene su nombre porque los elementos se mueven hacia arriba en el orden correcto, que es como burbujas que salen a la superficie.

Ordenar burbujas en lenguaje Python

Ahora veamos la implementación lógica del ordenamiento de burbujas a través de Python. Python es un lenguaje muy utilizado en estos días. Comprenderlo a través de Python seguramente le dará la confianza para poder escribirlo en cualquier otro idioma también.

Código de Python

def bubble_Sort(arr):
m = len(arr)
# Traverse through all the array elements
for u in range(m):
for v in range(0, mu-1):
# traverse the array from 0 to mu-1
# Swap if the element is greater than adjacent next one
if arr(v) > arr(v+1) :
arr(v), arr(v+1) = arr(v+1), arr(v)

Para imprimir la matriz después de la clasificación de burbujas, debe seguir el código:

for i in range(len(arr)):
print("%d" %arr(i)),
Here arr will be your array.

Explicación del código Python

Aquí "m" es la longitud de la matriz. Dos bucles for mantienen la lógica de tierra real, donde "u" representa el primer elemento mientras que "v" representa el segundo con el que el primer elemento tiene que compararse para intercambiarse si el orden de clasificación entre ambos no es correcto.

“Arr (v)> arr (v + 1)” esto representa la comparación de elementos consecutivos, si el primer elemento es mayor que el segundo elemento, la operación de intercambio se realizará mediante la siguiente expresión:

Es decir "arr (v), arr (v + 1) = arr (v + 1), arr (v)".

Esta operación de intercambio se llama intercambio. Lo bueno es que no se requiere memoria temporal para este tipo de operación de intercambio.

"U" representa el ciclo de cada ejecución, mientras que "v" representa las etapas de cada etapa. Se puede hacer referencia a un ejemplo en la sección anterior.

Después de realizar el ordenamiento de burbujas, se puede ver la matriz ordenada, con el código mencionado a continuación:

for i in range(len(arr)):
print ("%d" %arr(i)),

Veamos cómo se comporta esto en Python IDE, para una comprensión más profunda:

Salida:

Hay algunos datos sobre Bubble Sort, que todos deberían saber antes de implementarlo:

  1. Una clasificación de burbujas a menudo se considera como un método de clasificación eficiente no bueno. Como tiene que intercambiar los artículos hasta que se conozca su ubicación final. Todo esto conduce al desperdicio de operaciones y, por lo tanto, es muy costoso. Este algoritmo pasa por todos y cada uno de los elementos, donde la clasificación es obligatoria o no. Una vez que la ejecución pasa sin ningún intercambio, la clasificación de burbujas se considera completada.
  2. Esta es la estructura de datos más simple entre todas, para cualquier principiante, esto le da una buena confianza. Es fácil de construir y entender.
  3. Utiliza mucho tiempo y memoria.
  4. Esto se considera un algoritmo estable, ya que conserva el orden relativo de los elementos.
  5. Considerado bueno para una pequeña matriz / lista. Sin embargo, es una mala idea usarlo para largos.

Conclusión

Al revisar el contenido anterior de la clasificación de burbujas, uno podría haber tenido una comprensión clara de este algoritmo de clasificación, especializado en python. Una vez que uno se sienta cómodo con la lógica del tipo de burbuja, será más fácil comprender el otro conjunto de estructuras de datos. Un enfoque lógico es la única forma de sobresalir en el campo de la estructura de datos. Entender primero la lógica del algoritmo de estructura de datos en cada etapa y luego apuntar su código a través de Python o en cualquier otro lenguaje debería ser el camino.

Artículos recomendados

Esta es una guía de Bubble Sort en Python. Aquí discutimos la implementación lógica del ordenamiento de burbujas a través del código de Python con la explicación. También puede consultar el siguiente artículo para obtener más información:

  1. Bucles en Python
  2. Operaciones de archivo de Python
  3. Palindrome en Python
  4. Matrices 3D en Python
  5. Características de Python
  6. Intercambio en PHP
  7. Matrices 3D en C ++
  8. Palindrome en C ++
  9. Palindrome en JavaScript
  10. ¿Cómo funcionan las matrices y listas en Python?