Können wir Stack und Queue mit Linked List implementieren?
Können wir Stack und Queue mit Linked List implementieren?

Video: Können wir Stack und Queue mit Linked List implementieren?

Video: Können wir Stack und Queue mit Linked List implementieren?
Video: 4 Queue und Stack 2024, April
Anonim

Jeder Knoten hat einen Wert und a Verknüpfung zum nächsten Knoten. Zwei beliebte Anwendungen von verlinkte Liste sind Stapel und Warteschlange . Warteschlange : Warteschlange ist eine Datenstruktur, die das First-in-First-out-Prinzip (FIFO) verwendet. Warteschlange kann Sein implementiert von Stapel , Array und verlinkte Liste.

Können wir entsprechend eine Warteschlange mithilfe einer verknüpften Liste implementieren?

EIN Warteschlange kann leicht sein implementiert mit ein verlinkte Liste . In einzeln Linked-List-Implementierung , Einreihen in die Warteschlange erfolgt am Ende des aufführen und das Auslagern von Gegenständen erfolgt am Kopf des aufführen . Wir müssen den Zeiger auf den letzten Knoten beibehalten, um die Effizienz von O(1) für das Einfügen zu erhalten.

Anschließend stellt sich die Frage, ist eine verknüpfte Liste ein Stapel? EIN Stapel ist eine Datenstruktur mit einer bestimmten Schnittstelle und Verhalten: Elemente können dem Stapel mit „push“und entfernt mit „pop“und sie werden in Last-In-First-Out-Reihenfolge entfernt. EIN verlinkte Liste ist eine Datenstruktur mit einer bestimmten Beziehung zwischen Elementen im Speicher.

Können wir in diesem Zusammenhang einen Stapel mithilfe von Warteschlangen implementieren?

Implementieren ein stapeln mit Einzel Warteschlange . Wir sind gegeben Warteschlange Datenstruktur, die Aufgabe ist es, Stapel implementieren mit nur gegeben Warteschlange Datenstruktur. Diese Lösung setzt voraus, dass wir können finde größe von Warteschlange an jedem Punkt. Die Idee ist, neu eingefügte Elemente immer hinten zu halten Warteschlange , wobei die Reihenfolge der vorherigen Elemente gleich bleibt.

Was sind die Anwendungen von Queue?

Anwendungen der Warteschlange Bereitstellen von Anfragen auf einer einzigen gemeinsam genutzten Ressource, wie z. B. einem Drucker, CPU-Aufgabenplanung usw. Im realen Szenario Callcenter-Telefonsysteme verwendet Warteschlangen Anrufer in einer Reihenfolge zu halten, bis ein Servicemitarbeiter frei ist. Behandlung von Interrupts in Echtzeitsystemen.

Empfohlen: