Introduction au tri en tas en Python

Tous les langages de programmation offrent diverses fonctionnalités grâce à des fonctions prédéfinies. En tirant parti des méthodes prédéfinies et des fonctionnalités offertes par le langage de programmation, on peut développer une application complexe. Lorsque nous parlons de transformer les valeurs de la liste en forme triée, l'approche est appelée tri. Bien que la sortie du tri soit la même quelle que soit l'approche de tri, la meilleure approche garantit l'efficacité du tri des données. Quand il s'agit de trier en utilisant le langage de programmation python, nous avons la méthode sort () qui peut simplement accepter la valeur et la trier dans l'ordre croissant. Dans cet article, nous allons apprendre à trier les données du tableau par ordre croissant à l'aide du tri par segment de mémoire et utiliserons le langage de programmation python pour effectuer l'implémentation de code de heapsort.

Comment fonctionne Heap Sort en Python?

  • Avant d'expliquer le fonctionnement de Python, il est important de comprendre ce qu'il est réellement et en quoi il diffère des autres algorithmes de tri. Heapsort peut être considéré comme l'approche de tri dans laquelle la valeur maximale de la liste est rencontrée et déplacée au dernier de la matrice et le processus est répété jusqu'à ce que la liste soit transformée en une liste triée. la manière qui le rend différent des autres méthodes de tri n'est rien d'autre que l'approche qu'il suit pour trier toutes les valeurs du tableau. Il consiste en un processus récursif qui dure jusqu'à ce que les valeurs du tableau soient organisées par ordre croissant.
  • Voyons maintenant comment fonctionne le tri en tas en utilisant un exemple. Supposons que arr soit un tableau contenant les valeurs comme 9, 5, 2. Au début, les valeurs du tableau ne sont pas organisées de manière triée, mais après avoir effectué le tri en tas, il sera transformé en ordre croissant. Lorsque l'algorithme de tri en tas est appliqué à ce tableau, la toute première chose qu'il fera pour trouver notre plus grande valeur dans le tableau. Comme 9 est la plus grande valeur, il sera déplacé vers le dernier index de la liste et toutes les autres valeurs se déplaceront d'un pas vers la gauche afin de créer un espace pour contenir la plus grande valeur. Une fois que 9 est déplacé vers le dernier index ou tableau arr, la liste des valeurs ressemblera à 5, 2, 9.
  • Maintenant, le tableau n'est toujours pas trié, ce qui indique que le même processus doit être répété à nouveau. Maintenant, tout en trouvant la plus grande valeur dans la liste des valeurs non traitées, 5 sera sélectionné comme deuxième plus grande valeur et sera déplacé vers l'avant-dernier index. Après avoir déplacé 5 à l'avant-dernière position, le tableau sera transformé en un tableau trié et les valeurs seront organisées dans l'ordre croissant de l'assemblage comme 2, 5, 9. C'est ainsi que fonctionne le tri par tas. En termes réels, il identifie la valeur maximale et la déplace à la fin du tableau et continue d'exécuter le même processus jusqu'à ce que le tableau se transforme en tableau trié.

Exemples pour implémenter le tri en tas en Python

Pour apprendre le concept de heapsort, laissez-nous le comprendre en utilisant l'exemple réel. Nous allons implémenter l'algorithme de tri en tas en utilisant le langage python. Afin de développer le programme, nous utiliserons la boucle for pour amener le mécanisme de récursivité et nous utiliserons les conditions if pour vérifier les conditions. Dans le code ci-dessous, perform_heapsort est la fonction qui accepte trois arguments: val_arr, num et count, où var_arr est le tableau tandis que num et count sont d'un type de données entier. L'idée du code ci-dessous est de trouver le plus grand nombre et de le maintenir temporairement dans la variable max_val jusqu'à ce qu'il soit déplacé à la fin du tableau. Si une instruction a été utilisée pour garantir que la plus grande valeur est déplacée vers la position appropriée et que cette position est bloquée pour être mise à jour par la prochaine plus grande valeur de la liste. Le programme répétera l'approche consistant à trouver la plus grande valeur et à la déplacer jusqu'à la fin jusqu'à ce que la liste s'accorde avec celle triée.

Code:

def perform_heapsort(val_arr, num, count):
max_val = count
counter1 = 2 * count + 1
counter2 = 2 * count + 2
if counter1 < num and val_arr(count) < val_arr(counter1):
max_val = counter1
if counter2 < num and val_arr(max_val) < val_arr(counter2):
max_val = counter2
if max_val != count:
val_arr(count), val_arr(max_val) = val_arr(max_val), val_arr(count) perform_heapsort(val_arr, num, max_val)
def heapSort(val_arr):
num = len(val_arr)
for count in range(num, -1, -1):
perform_heapsort(val_arr, num, count)
for count in range(num-1, 0, -1):
val_arr(count), val_arr(0) = val_arr(0), val_arr(count) # swap
perform_heapsort(val_arr, count, 0)
val_arr = ( 52, 91, 64, 252, 36, 91, 5, 35, 28) heapSort(val_arr)
num = len(val_arr)
print ("Values after performing heapsort")
for count in range(num):
print ("%d" %val_arr(count)),

Dans ce programme, les valeurs ont été attribuées manuellement via le code. Le var_arr est le tableau qui contient les valeurs. Dans cet exemple, nous avons attribué 9 valeurs au tableau. Les valeurs du tableau seront transmises à la méthode nommée perform_heapsort. Une fois que les valeurs sont entrées dans la méthode, elle sera traitée et le programme commencera à trouver la plus grande valeur dans la liste. La valeur maximale dans ce tableau est 252, il sera donc déplacé à la fin du tableau et ce processus sera appliqué à toutes les valeurs jusqu'à ce que le tableau se transforme en tableau trié. Une fois que le tableau est trié par le programme, la sortie sera affichée dans la sortie.

Production:

Conclusion

Heapsort est l'un des différents algorithmes de tri. La sortie finale de cet algorithme est la liste triée qui contient les données dans l'ordre croissant. Comme le processus se répète et chaque fois que toutes les valeurs sont décalées vers la gauche pour ajuster la valeur maximale de la liste à la fin du tableau, il est considéré comme l'algorithme de tri le moins efficace. Cette approche de tri peut être exploitée dans l'application qui est censée traiter un petit nombre de valeurs.

Articles recommandés

Ceci est un guide de tri de tas en Python. Ici, nous discutons de l'introduction au tri en tas en Python, comment fonctionne le tri en tas en Python et des exemples pour implémenter le tri en tas en Python. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus-

  1. Qu'est-ce que l'informatique?
  2. Qu'est-ce que l'apprentissage automatique?
  3. Sécurité des applications Web
  4. Fonctionnalités de Python
  5. Guide de tri des algorithmes en Python