Was ist der Unterschied zwischen linearer Warteschlange und kreisförmiger Warteschlange?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen linearer Warteschlange und kreisförmiger Warteschlange ist das eine lineare Warteschlange ordnet Daten in sequentieller Reihenfolge nacheinander an, während eine kreisförmige Warteschlange Daten ähnlich einem Kreis anordnet, indem sie das letzte Element wieder mit dem ersten Element verbindet.

Eine Datenstruktur ist eine systematische Möglichkeit, Daten zu organisieren, um sie effizient zu nutzen. Bei der Implementierung von Datenstrukturen ist es wichtig, die zeitliche und räumliche Komplexität zu berücksichtigen. Die Zeitkomplexität beschreibt die Ausführungszeit, während die Platzkomplexität den Speicherbedarf der Datenstruktur beschreibt. Eine wichtige Datenstruktur in der Datenverarbeitung ist eine Warteschlange. Es gibt zwei Arten von Warteschlangen als lineare und kreisförmige Warteschlangen.

Kreis-Warteschlange, Lineare Warteschlange, Warteschlange

Was ist eine lineare Warteschlange?

Eine lineare Warteschlange ist eine Warteschlange, die einer geraden Linie ähnelt. Es besteht aus einer Reihe von Datenelementen, die nacheinander angeordnet sind. Daher ist es möglich, der Warteschlange von einem Ende aus neue Elemente hinzuzufügen. Daher nennen wir diese Operation enqueue. Ebenso ist es möglich, das Element am anderen Ende aus der Warteschlange zu entfernen. Und wir nennen diese Operation Dequeue. Die Vorderseite der Warteschlange ist der Kopf und das Ende der Warteschlange ist das Ende oder das Heck. In einer linearen Warteschlange ist es möglich, neue Artikel von hinten einzufügen und die Artikel von vorne zu entnehmen. Darüber hinaus ist eine Warteschlange ähnlich wie Menschen, die in einer geraden Linie warten, um auf einen Geldautomaten zuzugreifen. Eine neue Person kommt und schließt sich am Ende der Warteschlange an, und die erste Person in der Warteschlange erhält Zugriff auf die Maschine.

Abbildung 1: Lineare Warteschlange

Wir können mehrere Operationen an einer linearen Warteschlange ausführen. Wir können eine Warteschlange auf Null initialisieren. Wir können auch überprüfen, ob die Warteschlange leer ist oder nicht. Eine andere Operation besteht darin, herauszufinden, ob die Warteschlange leer ist oder nicht. Dies sind einige gängige Operationen, die in einer linearen Warteschlange zusätzlich zu den Einreihungs- und Dequeue-Operationen ausgeführt werden müssen.

Obwohl eine lineare Warteschlange einfach zu implementieren ist, hat sie einige Nachteile. Das Entfernen von Elementen aus der Warteschlange kann mehr Platz schaffen. Es kann jedoch immer noch schwierig sein, neue Elemente einzugeben, da dies einen Unterlauf verursachen kann. Eine zirkuläre Warteschlange hilft, dieses Problem zu lösen.

Was ist eine kreisförmige Warteschlange?

In einer kreisförmigen Warteschlange verbindet sich das letzte Element wieder mit dem ersten Element, um einen Kreis zu erstellen. Daher wird eine Ringwarteschlange auch als Ringpuffer bezeichnet.

Abbildung 2: Eine runde 24-Byte-Tastaturwarteschlange

Da eine zirkuläre Warteschlange die beiden Enden verbindet, kommt das erste Element nach dem letzten Element. Es gibt keine Überlaufbedingung in einer zirkulären Warteschlange, bis die Warteschlange tatsächlich voll ist. Daher ist die Eingabe eines neuen Elements einfach.

Darüber hinaus funktioniert die zirkuläre Warteschlange gemäß den beiden folgenden Bedingungen. Die maxSize gibt die maximale Anzahl von Elementen an, aus denen die Warteschlange bestehen kann.

hinten = (hinten +1) % maxSize;

vorne = (vorne + 1) % maxSize;

Unterschied zwischen linearer Warteschlange und kreisförmiger Warteschlange

Definition

Eine lineare Warteschlange ist eine lineare Datenstruktur, die Daten als eine Sequenz von Elementen ähnlich einer realen Warteschlange speichert, während eine kreisförmige Warteschlange eine lineare Datenstruktur ist, in der das letzte Element wieder mit dem ersten Element verbunden ist und einen Kreis bildet. Dies ist also der Hauptunterschied zwischen linearer Warteschlange und kreisförmiger Warteschlange.

Einfügen und Löschen

In einer linearen Warteschlange ist es möglich, neue Artikel von hinten einzugeben und die Artikel von vorne zu entnehmen. In einer kreisförmigen Warteschlange ist es jedoch möglich, Elemente von jeder Position aus einzugeben und zu entfernen. Daher ist dies ein weiterer Unterschied zwischen linearer Warteschlange und kreisförmiger Warteschlange.

Speicherplatz

Darüber hinaus ist der Speicherplatz ein weiterer Unterschied zwischen linearer Warteschlange und zirkulärer Warteschlange. Die lineare Warteschlange erfordert mehr Speicher als die zirkuläre Warteschlange.

Leistung

Abschluss

Es gibt zwei Arten von Warteschlangen als lineare und kreisförmige Warteschlangen. Der Hauptunterschied zwischen einer linearen Warteschlange und einer kreisförmigen Warteschlange besteht darin, dass eine lineare Warteschlange Daten in einer sequentiellen Reihenfolge nacheinander anordnet, während eine kreisförmige Warteschlange Daten ähnlich einem Kreis anordnet, indem das letzte Element wieder mit dem ersten Element verbunden wird.

Referenz:

„1. Tutorial zu linearen Warteschlangen.“ Netzwerktopologien (ihre Typen, Vor- und Nachteile) – IncludeHelp, hier verfügbar.2. „Kreisförmige Warteschlange | Set 1 (Einführung und Array-Implementierung).“ GeeksforGeeks, 24. Dez. 2018, hier erhältlich.

Bild mit freundlicher Genehmigung:

1. „Datenwarteschlange“ von Vegpuff Eigene Arbeit (CC BY-SA 3.0) über Commons Wikimedia 2. „Circular Buffer Animation“ von MuhannadAjjan – Eigene Arbeit (CC BY-SA 4.0) über Commons Wikimedia

Was ist der Unterschied zwischen linearer Warteschlange und kreisförmiger Warteschlange?