Bubble Toi Python

Bubble Toi Python
Le tri est le processus d'organisation des valeurs dans l'ordre présent sous forme de listes. Différents types de tri discriminat. Ce tutoriel est lié au tri des bulles.

Tri bulle

Il s'agit de l'organisation des éléments d'un tableau qui traite de l'utilisation de l'algorithme de tri le plus simple appliqué en échangeant les éléments adjacents à plusieurs reprises si l'ordre est faux.

Tour des bulles fonctionnant

Pour trier les valeurs dans l'ordre croissant, puis la première itération comprend le processus de comparaison et d'échange. La première valeur d'index et la seconde sont comparées. Si la condition est remplie, l'échange se produit et est répété jusqu'à la fin.

Algorithme / pseudo code pour le tri des bulles

fonction (tableau)
pour je droite
Échange la valeur gauche et la valeur droite
fonction finale

Exemple 1

Le mécanisme de tri des bulles est appliqué au langage de programmation Python en utilisant la fonction nommée Bubble Sort. La syntaxe de la fonction est qu'un mot-clé 'def' est utilisé avec le nom de la fonction. Dans le paramètre de fonction, nous avons passé un tableau qui doit être trié par la fonction. Alors maintenant, nous verrons la fonctionnalité complète ou dirons que le cœur de l'ensemble du processus de tri est défini dans le corps de la fonction. Tout d'abord, nous déclarerons la longueur du tableau à une variable via un opérateur d'affectation en utilisant la fonction intégrée Len ().

# n = len (arr)

Pour accéder à n'importe quel élément dans un tableau, nous utilisons toujours une boucle pour un langage de programmation. Juste comme ça, Python utilise également la boucle «pour» dans le processus de tri pour le rendre possible pour l'utilisateur. Le tableau sera donc traversé en utilisant un pour une boucle.

# Pour i dans la gamme (n - 1):

Ici «i» est la variable représentant le numéro d'index dans le tableau ayant le tableau d'une taille fixe moins un. Comme «n» représente la taille du tableau, donc (n-1) représente la traversée de la boucle à la position de la taille moins une afin que nous puissions itérer la boucle une fois après une seule itération.

Comme décrit ci-dessus, les deux indices adjacents les plus proches sont comparés pour le tri des bulles. En utilisant la boucle ci-dessus, nous accéderons à un index. Dites le premier, pour accéder à l'index suivant; Nous avons en outre besoin d'une boucle. Ceci est la boucle intérieure, et le mentionné ci-dessus est déclaré comme une boucle extérieure. Ce phénomène ressemble au tableau bidimensionnel (2D). Alors déclarons la boucle intérieure.

# pour J dans la gamme (0, N-I-1):

La variable «J» est comme le «i» de la boucle extérieure, mais cela représentera la prochaine valeur de la valeur actuelle de l'index «i», car nous avons appliqué la logique de «N-I-1», donc la boucle Itérer jusqu'à la position de soustraire la valeur de «i» de la taille du tableau avec la valeur «-1», cela entraînera les deux index adjacents dans le tableau.

Nous avons accédé à deux valeurs dans le tableau, et il est temps de les comparer car nous savons que la comparaison est faite à travers les supports angulaires. Nous devons utiliser le support '>' pour le tri ascendant.

Si arr [J]> arr [J + 1]:
arr [j], arr [j +1] = arr [j + 1], arr [j]

Si la valeur du côté gauche accessible en premier est supérieure à la valeur à droite, accessible plus tard, les deux valeurs sont échangées directement sans utiliser aucune implication de la troisième place. Dans l'autre cas, passez à la position suivante. C'était la principale fonction logique du tri des bulles.

Sauter à l'extérieur des boucles. Après cela, nous déclarons le tableau et le transmettons à la fonction via un appel de fonction.

Bubblesort (ARR).

Après cela, le tableau trié sera imprimé. Dans la console résultante, la valeur résultante sera affichée.

Vous pouvez voir que le tableau d'entrée contient les valeurs aléatoires, tandis que, dans le réseau résultant, tous les éléments sont triés par ordre croissant.

Exemple 2

L'exemple ci-dessus traite de la poursuite de toutes les comparaisons possibles même si l'ensemble du tableau est déjà trié. Cela conduit à l'extension temporelle de l'exécution tout au long du tableau. Donc, pour rendre le temps d'exécution limité, nous utiliserons une troisième variable. Ici, nous utilisons une variable booléenne pour définir la valeur de la variable comme vrai si l'échange se produit. Sinon, c'est considéré comme faux.

Après chaque itération, si aucun échange ne se produit en raison de l'échange, la valeur sera fausse. Il se réfère à quand tous les éléments d'un tableau sont déjà triés, et il n'y a aucune autre obligation pour les trier. Ce phénomène est facilement utilisé et peut réduire le temps d'exécution et bénéficier de l'optimisation du tri des bulles.

À l'intérieur de la fonction de tri de bulles, la longueur a été déclarée variable. Une variable supplémentaire échangée est déclarée fausse par défaut initialement. Mais sa valeur change chaque fois que le processus d'échange a lieu.

Échangé = faux

À l'intérieur de l'extérieur et de la boucle intérieure, la comparaison entre les valeurs des indices spécifiées se produit; Si les valeurs doivent être échangées, alors la variable échangée est transformée en «vraie» et les valeurs sont échangées avec succès.

Mais si deux valeurs ne sont pas échangées, lorsque les valeurs sont déjà organisées, alors aucun échange ne se produit, donc la variable échangée reste fausse. Et puis la rupture se produit. Ce chèque est atteint par une instance if.

Si échangé == false

Casser

Cette pause sera responsable de l'empêcher de s'exécuter plus loin. Comme dans cet exemple, la rupture se produira à l'indice de 1,2 et 3.

Après avoir enregistré le fichier, les valeurs d'exécution peuvent être vues via la console. Vous pouvez voir les valeurs résultantes qui sont organisées par ordre croissant.

Exemple 3

Cet exemple suit le même concept que celui expliqué dans le deuxième exemple en utilisant le même booléen échangé avec l'utilisation d'une autre variable au moment d'échanger les valeurs. C'est une valeur temporaire. Ceci est un modèle qui stocke temporairement les valeurs.

Le même exemple ci-dessus est utilisé ici. Ne considérez que la procédure d'échange ici. La première valeur d'index est enregistrée dans la variable «température» à l'intérieur des boucles. Et cet espace est rempli de la valeur à côté de lui dans le tableau à laquelle la valeur précédente est comparée. Et cette valeur suivante est maintenant remplacée par la valeur présente dans la température. Ceci est appelé attribution indirecte des valeurs, et il utilise plus d'étapes que l'affectation directe des valeurs.

La variable échangée sera déclarée vraie dans le cas d'échange. Exécuter le code pour voir les résultats.

Conclusion

L'article «Bubble Sort» contient une brève introduction à la méthodologie de tri via l'algorithme. Un processus détaillé de tri de bulles avec une approche étape par étape est discuté. L'outil Spyder est recommandé pour la mise en œuvre des programmes liés à Python. Chaque exemple élémentaire décrit l'utilisation du tri des bulles en langue python.