Python Priority Warteschlangenbeispiel

Python Priority Warteschlangenbeispiel
Python ist eine der am vorherigendsten und ausführlich verwendeten Programmiersprachen. Wie andere Programmiersprachen bietet es viele Funktionen und Bibliotheken, mit denen die grundlegenden Datenstrukturen implementiert werden können. Die Warteschlange ist eine sehr wichtige Datenstruktur. Seine Funktionalität kann jedoch je nach implementierter Art unterscheiden. Eine der wichtigsten Funktionen einer Warteschlange ist eine Prioritätswarteschlange. In diesem Artikel werden wir erfahren, was eine vorrangige Warteschlange ist, und einen Blick auf die verschiedenen Implementierungen einer Prioritätswarteschlange in Python werfen.

Was ist eine vorrangige Warteschlange?

Wie der Name sagt, ist eine vorrangige Warteschlange eine Warteschlange, die so programmiert ist. Wenn wir über eine einfache Warteschlange sprechen, funktioniert es in der Bestellung „FIFO (zuerst in der ersten Out)“, ich.e., Das Element, das zuerst in die Warteschlange eingefügt wurde. Manchmal möchten wir jedoch nicht, dass unsere Warteschlange auf diese Weise funktioniert. Vielmehr möchten wir vielleicht, dass es einer anderen angegebenen Reihenfolge folgt. Hier kommen die vorrangigen Warteschlangen ins Spiel, die es uns ermöglichen, die Elemente einer Warteschlange in der Reihenfolge unserer Wahl zu extrahieren. Sie werden in der Lage sein, mehr über ihre Nutzung zu erfahren, indem Sie die unten diskutierten verschiedenen Implementierungen durchlaufen:

Implementierungsmethoden der Prioritätswarteschlange in Python:

Wir können drei verschiedene Methoden verwenden, um die vorrangigen Warteschlangen in Python zu implementieren, ich.e., Verwenden einer Liste, dem Prioritätsmodul und dem HeapQ -Modul. Wir werden alle drei Methoden mit Hilfe relevanter Beispiele nacheinander diskutieren. Die grundlegenden Daten, die wir für all diese Beispiele verwenden, bleiben jedoch gleich, sodass Sie diese verschiedenen Implementierungsmethoden problemlos vergleichen können.

Hinweis: Zur Implementierung all dieser Beispiele in Python haben wir das Spyder -Tool mit Windows 10 -Betriebssystem verwendet.

Methode Nr. 1: Verwenden einer Liste in Python:

In diesem Beispiel möchten wir eine vorrangige Warteschlange implementieren, in der die Mitarbeiternamen und ihre IDs in der absteigenden Reihenfolge ihrer IDs drucken werden, ich.e., Der Name des Mitarbeiters mit der höchsten Mitarbeiter -ID wird zuerst gedruckt und so weiter. Um eine solche Implementierung zu haben, können Sie sich den folgenden Code ansehen:

In diesem Code haben wir zunächst eine Liste mit dem Namen "Mitarbeiter" deklariert. Nachdem wir diese Liste deklariert haben, werden wir versuchen, die Daten einiger Mitarbeiter einzufügen, ich.e., Mitarbeiter-ID und Mitarbeitername in dieser Liste mit Hilfe der integrierten „Anhang“ von Listen in Python. Wir werden diesen Mitarbeitern diese Mitarbeiter während der Einfügung jedoch in zufälliger Reihenfolge zuweisen, damit wir leicht visualisieren können, wie diese Liste in der Ausgabe sortiert ist.

Wann immer wir eine vorrangige Warteschlange mit einer Liste in Python implementieren möchten, müssen wir die Liste in aufsteigender oder absteigender Reihenfolge (abhängig von den Anforderungen) nach jeder Einfügung sortieren, um als vorrangige Warteschlange zu fungieren. In diesem Beispiel haben wir die Liste nach jeder Einfügung in absteigender Reihenfolge sortiert, indem wir die Mitarbeiter in der absteigenden Reihenfolge ihrer IDs drucken wollten. Wir haben die Methode "sort ()" nach dem ersten Einfügen nicht bezeichnet, weil wir zu diesem Zeitpunkt nur ein einzelnes Element in unserer Liste hatten. Nachdem wir alle Elemente eingefügt hatten. Danach haben wir unseren Code gespeichert und in der Spyder IDE ausgeführt.

Das Ergebnis dieser Implementierung der vorrangigen Warteschlange in Python ist wie folgt. Sie können leicht ansehen, dass die Mitarbeiter in absteigender Reihenfolge ihrer IDs gedruckt werden.

Methode Nr. 2: Verwenden des Prioritätsmoduls in Python:

Das PriorityQueue-Modul ist eine integrierte Funktion der Klasse „Warteschlangen“ in Python. In diesem Beispiel möchten wir die Mitarbeiternamen in der aufsteigenden Reihenfolge ihrer IDs drucken, ich.e., Der Mitarbeiter mit der niedrigsten Mitarbeiter -ID wird zuerst gedruckt und so weiter, unabhängig von der Reihenfolge ihrer Einfügung. Um auf diese Weise eine vorrangige Warteschlange implementiert zu haben, müssen Sie sich den unten angegebenen Python -Code ansehen:

In diesem Code haben wir zum ersten Mal das Prioritätsqueue -Modul aus der Python -Warteschlangenklasse importiert, um unsere Prioritätswarteschlange einfach zu implementieren. Dann haben wir eine Liste von Mitarbeitern, die wir mit der Funktion „PriorityQueue“ ausgeschlossen haben, um leicht auf der Liste der Mitarbeiter zu arbeiten. Danach haben wir die integrierte „Put“ -Funktion von Python verwendet, um einige Mitarbeiterdaten in die Liste der Mitarbeiter einzufügen. Dann haben wir eine "while" -Schloop, die die Liste der Mitarbeiter durch die Mitarbeiter iteriert und die Mitarbeiter in der aufsteigenden Reihenfolge ihrer IDs druckt, während sie die Funktion „GET“ verwenden, da das Prioritätsmodul so programmiert ist.

Das Ergebnis dieser Implementierung der vorrangigen Warteschlange in Python ist wie folgt. Sie können leicht ansehen, dass die Mitarbeiter in der aufsteigenden Reihenfolge ihrer IDs gedruckt werden.

Methode Nr. 3: Verwenden des Heapq -Moduls in Python:

HeapQ ist ein weiteres integriertes Pythonmodul, mit dem Priority-Warteschlangen implementiert werden können. Wie Methode Nr. 2 möchten wir die Mitarbeiter in der aufsteigenden Reihenfolge ihrer IDs für dieses Beispiel drucken. Der Code für diese Implementierung der Prioritätswarteschlange in Python ist in dem unten gezeigten Bild zu sehen:

In diesem Code haben wir zuerst das Python -Modul „HeapQ“ importiert, um die damit verbundenen Funktionen bequem zum Einfügen und Drucken der Daten unserer Prioritätswarteschlange zu verwenden. Danach haben wir eine Liste von Mitarbeitern deklariert. Dann haben wir einige Datensätze in zufälliger Reihenfolge mit dem „HeapQ.heappush () ”Funktion des„ HeapQ “-Moduls in die Liste der Mitarbeiter. Dann haben wir einfach eine "während" -Schloop, die auf der Liste der Mitarbeiter iterieren soll und die Mitarbeiter in der aufsteigenden Reihenfolge ihrer IDs drucken soll, während sie das „HeapQ“ verwenden.HeapPop () ”-Funktion, da das Modul„ HeapQ “so programmiert ist, dass die Listen standardmäßig in aufsteigender Reihenfolge drucken. Dieses Modul kann auch so programmiert werden, dass sie die Listen in absteigender Reihenfolge drucken. Es liegt jedoch über den Umfang dieses Beispiels hinaus.

Das Ergebnis dieser Implementierung der vorrangigen Warteschlange in Python ist wie folgt. Sie können leicht ansehen, dass die Mitarbeiter in der aufsteigenden Reihenfolge ihrer IDs gedruckt werden.

Abschluss:

In diesem Artikel lag unser Schwerpunkt auf den Prioritätswarteschlangen in Python. Wir haben Sie kurz in das Konzept der vorrangigen Warteschlangen in Python vorgestellt. Nachdem wir ein solides Verständnis dieses Konzepts aufgebaut hatten, haben wir die drei verschiedenen Implementierungen von Prioritätswarteschlangen in Python in Windows 10 geteilt. Sobald Sie all diese drei Implementierungen gut erfasst haben, können Sie eine von diesen auswählen, um Ihre vorrangige Warteschlange zu implementieren, je nachdem, ob Sie einer aufsteigenden Reihenfolge oder einer absteigenden Reihenfolge folgen möchten.