File D’Attente Prioritaire Javascript

| | | | | | | | | | | | | | | | | | | | | | | | | | | |

File d’attente prioritaire Python: un guide

Une file d’attente prioritaire Python stocke les données dans un ordre particulier. Il existe deux manières d’implémenter une file d’attente prioritaire en Python: en utilisant la classe queue et en utilisant le module heapq.

Vous pouvez vouloir trier les données en fonction des valeurs de chaque élément dans la liste. Par exemple, vous pouvez souhaiter que la valeur la plus élevée apparaisse en premier dans la liste et la valeur la plus faible en dernier dans la liste.

C’est là que les files d’attente prioritaires entrent en jeu. Une file d’attente prioritaire est une structure de données qui stocke les données en fonction de la valeur de ses clés dans l’ordre croissant. Cela vous permet d’accéder facilement à la valeur la plus petite et la plus grande de la file d’attente.

Ce didacticiel expliquera pourquoi vous ne devriez pas utiliser une liste pour créer des files d’attente prioritaires. Nous allons vous montrer deux approches plus efficaces que vous pouvez utiliser pour créer une file d’attente prioritaire Python.

Qu’est-ce qu’une file d’attente prioritaire Python ?

Les files d’attente prioritaires sont une version modifiée d’une file d’attente qui stocke données dans l’ordre de quel élément a la priorité la plus élevée. La priorité de chaque élément dans une file d’attente prioritaire est décidée en fonction de la valeur de l’élément.

En informatique, les files d’attente sont des structures de données qui stockent les éléments dans l’ordre FIFO (premier entré, premier). -out) . Il existe quelques scénarios o√π l’utilisation de cette fonction peut être utile.

Par exemple, supposons que vous créez une application de suivi des commandes pour un restaurant. La personne qui passe la commande en premier doit être servie avant les personnes qui passent la commande plus tard. Pour suivre les commandes, vous devez utiliser une file d’attente.

Il existe deux manières de définir une file d’attente prioritaire en Python:

  • Utilisation du Classe de file d’attente PriorityQueue
  • Utilisation du module heapq

Vous pouvez définir une file d’attente prioritaire en utilisant une structure de liste, mais qu Cette stratégie est moins efficace que l’utilisation de la classe de file d’attente PriorityQueue ou du module heapq.

Priority Queue Plate: queue.PriorityQueue

La queue.PriorityQueue crée un File d’attente prioritaire Python. Cette classe fait partie de la bibliothèque de code Python. Vous devez importer la bibliothèque de files d’attente pour utiliser cette classe. Pour récupérer un élément d’une PriorityQueue, vous pouvez utiliser la méthode get().

Pour accéder à la classe PriorityQueue, nous devons l’importer dans notre code, ce que nous pouvons faire en utilisant ce Python import statement :

Supposons que nous voulions créer une file d’attente prioritaire pour les détenteurs de billets à un con rt. Nous pourrions le faire en utilisant ce code:

Notre code renvoie:

Dans notre code, on importe d’abord la classe PriorityQueue de la bibliothèque queue, puis on initialise une file d’attente prioritaire appelée ticket_holders. Ensuite, nous mettons trois tuples dans notre file d’attente prioritaire, qui stocke les numéros de ticket et les noms associés à un ticket.

Nous utilisons un tandis que Python boucle pour examiner chaque élément de la file d’attente prioritaire des ticket_holders. Ensuite, nous obtenons cet élément en utilisant get ().

La méthode queue.PriorityQueue est efficace et facile à utiliser, ce qui en fait un excellent choix pour quand vous devez créer une file d’attente prioritaire.

Module de file d’attente prioritaire Python heapq

Le module heapq vous permet de définir une file d’attente prioritaire Python. Une structure de données heapq supprime les éléments par ordre de priorité. La valeur la plus basse a la priorité la plus basse et la valeur la plus élevée a la priorité la plus élevée dans la structure heapq.

Avant de peut utiliser le module heapq, nous devons d’abord l’importer dans notre code en utilisant l’instruction import suivante:

Reprenons notre exemple précédent. Supposons que nous voulions créer une file d’attente prioritaire pour stocker des informations sur les détenteurs de billets lors d’un concert. Nous pourrions alors le faire en utilisant le module heapq et ce programme:

Notre code renvoie:

Nous avons d’abord importé la bibliothèque heapq, puis nous avons initialisé un Variable Python appelée ticket_holders. Nous avons utilisé la méthode heappush () pour mettre trois tuples dans notre file d’attente prioritaire. Cette file d’attente stocke les numéros de ticket pour chaque détenteur de ticket et le nom de chaque détenteur de ticket.

Nous avons ensuite créé une boucle while qui parcourt chaque élément de notre file d’attente prioritaire. Cette boucle supprime l’élément supérieur de la file d’attente en utilisant heappop (). Ensuite, l’élément supprimé est imprimé sur la console. Comme vous pouvez le voir, tous les éléments de notre file d’attente sont imprimés par ordre de priorité.

Pourquoi vous ne devriez pas garder une liste

Techniquement, vous pouvez créer une file d’attente prioritaire en utilisant le Guide d’apprentissage Python .