Tutoriales

Python tipo burbuja

Ordenar organiza los valores en un orden que tiene forma de listas. Los diferentes tipos de clasificación difieren debido a sus técnicas de uso y enfoques, como clasificación rápida, clasificación por selección, clasificación por fusión, clasificación por burbujas, etc. Este tutorial está relacionado con la clasificación por burbujas.

clasificación de burbujas

Esta es la disposición de los elementos de una matriz utilizando el algoritmo de clasificación más simple, intercambiando repetidamente los elementos adyacentes si el orden es incorrecto.

La ordenación de burbujas funciona

Para ordenar los valores en orden ascendente, la primera iteración implica el proceso de comparación e intercambio. Se comparan el primer valor del índice y el segundo. Si se cumple la condición, intercambie y repita hasta el final.

Algoritmo/Pseudocódigo para Bubble Sort

función(Hilera)
hacia yo tengo razón
intercambiar valor izquierdo y valor correcto
función final

Ejemplo 1

El mecanismo de clasificación de burbujas se aplica al lenguaje de programación Python mediante el uso de la función denominada clasificación de burbujas. La sintaxis de la función es que se usa una palabra clave «def» junto con el nombre de la función. En el parámetro de la función, pasamos una matriz para que la función la ordene. Así que ahora vemos la funcionalidad completa, o digamos que el núcleo de todo el proceso de clasificación está definido en el cuerpo de la función. Primero, declaramos la longitud de la matriz a una variable a través de un operador de asignación usando la función integrada len().

En cualquier lenguaje de programación, siempre usamos un bucle FOR para acceder a cualquier elemento de una matriz. Del mismo modo, Python también usa el bucle «for» en el proceso de clasificación para que sea procesable para el usuario. Entonces la matriz se recorre con un bucle for.

LEER  Cómo ejecutar un pod como un servicio systemd usando Podman

# Para mí en oferta (n- 1):

Aquí «i» es la variable que representa el número de índice en la matriz con la matriz de un tamaño fijo menos uno. Dado que ‘n’ representa el tamaño de la matriz, (n-1) representa recorrer el ciclo hasta la posición del tamaño menos uno, lo que nos permite repetir el ciclo una vez más después de una única iteración.

Como se describió anteriormente, los dos índices de vecinos más cercanos se comparan para la clasificación de burbujas. Usando el bucle anterior, accedemos a un índice. Diga el primero para acceder al siguiente índice; Necesitamos otro bucle. Este es el bucle interno, y el mencionado anteriormente se declara como el bucle externo. Este fenómeno es similar al arreglo bidimensional (2d). Así que declaremos el bucle interno.

# hacia j en oferta (ni-1):

La variable ‘j’ es como la ‘i’ del ciclo externo, pero representa el siguiente valor del valor actual del índice ‘i’ ya que aplicamos la lógica de ‘ni-1’ para que el ciclo lo itere hacia arriba a la posición donde el valor de «i» se resta del tamaño de la matriz junto con el valor «-1». Esto lleva a los dos índices adyacentes en la matriz.

Hemos accedido a dos valores en la matriz y es hora de compararlos, sabiendo que la comparación se realiza a través de los paréntesis angulares. Necesitamos usar el corchete ‘>’ para la ordenación ascendente.

Si llama[j] > Arr[j + 1]:
Arr[j], Arr[j +1] = Arr[j + 1], Arr[j]

Si el valor llamado primero en el lado izquierdo es mayor que el valor llamado más tarde en el lado derecho, los dos valores se intercambian directamente sin la participación de terceros. De lo contrario, muévase a la siguiente posición. Esta era la principal función lógica del tipo burbuja.

Salta fuera de los bucles. Después de eso, declaramos la matriz y la pasamos a la función a través de una llamada de función.

clasificación de burbujas (arr).

Después de eso, se imprime la matriz ordenada. El valor resultante se muestra en la consola resultante.

Puede ver que la matriz de entrada contiene los valores aleatorios, mientras que la matriz resultante tiene todos los elementos ordenados en orden ascendente.

ejemplo 2

El ejemplo anterior trata de continuar con todas las comparaciones posibles incluso si la matriz completa ya está ordenada. Esto da como resultado un aumento en el tiempo de ejecución en toda la matriz. Entonces, para limitar el tiempo de ejecución, usamos una tercera variable. Aquí usamos una variable booleana para establecer el valor de la variable en verdadero cuando ocurre un intercambio. De lo contrario, se considera incorrecto.

Si no hay intercambio después de cada iteración debido al intercambio, el valor es falso. Se refiere a cuando todos los elementos de una matriz ya están ordenados y ya no es necesario ordenarlos. Este fenómeno es fácil de explotar y puede reducir el tiempo de ejecución y beneficiarse de la optimización de clasificación de burbuja.

Dentro de la función de clasificación de burbujas, la longitud se ha declarado como una variable. Una variable intercambiada adicional se declara inicialmente como falsa de forma predeterminada. Pero su valor cambia cada vez que tiene lugar el proceso de intercambio.

Intercambiado = incorrecto

La comparación entre los valores de los índices especificados se lleva a cabo tanto en el bucle externo como en el interno; Si es necesario intercambiar los valores, la variable intercambiada se establece en verdadero y los valores se intercambian correctamente.

Sin embargo, si no se intercambian dos valores cuando los valores ya están ordenados, no se produce el intercambio, quedando la variable intercambiada como falsa. Y luego viene el descanso. Esta verificación se logra a través de una declaración if.

Si se intercambia == mal

Romper

Esta interrupción es responsable de detener la ejecución posterior del bucle. Como en este ejemplo, la ruptura ocurre en el índice de 1,2 y 3.

Después de guardar el archivo, los valores de ejecución se pueden ver a través de la consola. Puede ver los valores resultantes dispuestos en orden ascendente.

Ejemplo 3

Este ejemplo sigue el mismo concepto que se explicó en el segundo ejemplo, usando el mismo valor booleano intercambiado con el uso de una variable diferente al momento de intercambiar los valores. Este es un valor temporal. Esta es una plantilla que almacena temporalmente los valores.

El mismo ejemplo anterior se utiliza aquí. Considere solo el procedimiento de intercambio aquí. El primer valor de índice se almacena en la variable ‘temp’ dentro de los bucles. Y ese espacio se llenará con el valor junto a él en la matriz con la que se comparará el valor anterior. Y este siguiente valor ahora se reemplaza por el valor que está presente en la temperatura. Esto se llama asignación indirecta de valores y requiere más pasos que la asignación directa de valores.

En el caso de intercambio, la variable intercambiada se declara como verdadera. Ejecute el código para ver los resultados.

Conclusión

El artículo ‘Bubble Sort’ proporciona una breve introducción a la metodología de clasificación por el algoritmo. Se discute un proceso detallado de clasificación de burbujas usando un enfoque paso a paso. Se recomienda la herramienta Spyder para implementar programas relacionados con Python. Cada ejemplo elemental muestra cómo usar Bubble Sort en el lenguaje Python.

LEER  Se corrigió el error "Vagrant no se pudo inicializar en una etapa muy temprana"

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba