Verschil tussen stapel en wachtrij

Verschil tussen stapel en wachtrij
Verschil tussen stapel en wachtrij

Video: Verschil tussen stapel en wachtrij

Video: Verschil tussen stapel en wachtrij
Video: Het verschil tussen de eerste en de tweede golf 2024, November
Anonim

Stapel versus wachtrij

Stack is een geordende lijst waarin het invoegen en verwijderen van lijstitems alleen kan worden gedaan aan één uiteinde dat de top wordt genoemd. Om deze reden wordt stack beschouwd als een Last in First out (LIFO) -gegevensstructuur. Wachtrij is ook een geordende lijst waarin het invoegen van lijstitems aan het ene uiteinde wordt gedaan, de achterkant, en het verwijderen van items wordt gedaan aan het andere uiteinde dat de voorkant wordt genoemd. Dit invoeg- en verwijderingsmechanisme maakt van de wachtrij een First in First out (FIFO)-gegevensstructuur.

Wat is stapelen?

Zoals eerder vermeld, is stapel een gegevensstructuur waarin elementen worden toegevoegd en verwijderd van slechts één uiteinde, de bovenkant genaamd. Stacks staan slechts twee fundamentele bewerkingen toe, push en pop genaamd. De push-operatie voegt een nieuw element toe aan de bovenkant van de stapel. De pop-bewerking verwijdert een element van de bovenkant van de stapel. Als de stapel al vol is, wordt dit bij het uitvoeren van een push-bewerking beschouwd als een stapeloverloop. Als een pop-bewerking wordt uitgevoerd op een reeds lege stapel, wordt dit beschouwd als een stapel-underflow. Vanwege het kleine aantal bewerkingen dat op een stapel kan worden uitgevoerd, wordt deze beschouwd als een beperkte gegevensstructuur. Bovendien, volgens de manier waarop de push- en pop-bewerkingen zijn gedefinieerd, is het duidelijk dat elementen die als laatste aan de stapel zijn toegevoegd, als eerste uit de stapel gaan. Daarom wordt stack beschouwd als een LIFO-gegevensstructuur.

Afbeelding
Afbeelding
Afbeelding
Afbeelding

Wat is wachtrij?

In een wachtrij worden elementen aan de achterkant van de wachtrij toegevoegd en aan de voorkant van de wachtrij verwijderd. Omdat de elementen die het eerst worden toegevoegd eerst uit de wachtrij worden verwijderd, wordt de FIFO-volgorde gehandhaafd. Vanwege deze volgorde van het toevoegen en verwijderen van elementen, vertegenwoordigt de wachtrij het idee van een kassaregel. Algemene bewerkingen die door een wachtrij worden ondersteund, zijn bewerkingen in de wachtrij en de wachtrij. En-queue-bewerking voegt een element toe aan de achterkant van de wachtrij, terwijl de de-queue-bewerking een element aan de voorkant van de wachtrij verwijdert. Over het algemeen hebben wachtrijen geen limiet voor het aantal elementen dat aan de wachtrij kan worden toegevoegd, naast de geheugenbeperkingen.

Wat is het verschil tussen Stack en Queue?

Hoewel zowel de stapels als de wachtrijen een soort geordende lijsten zijn, hebben ze enkele belangrijke verschillen. In stapels kunnen items alleen worden toegevoegd of verwijderd vanaf het ene uiteinde, de bovenkant genoemd, terwijl in wachtrijen items worden toegevoegd vanaf het ene uiteinde, de achterkant genoemd, en het verwijderen van items vanaf het andere uiteinde, de voorkant genoemd. In een stapel worden items die als laatste aan de stapel zijn toegevoegd als eerste van de stapel verwijderd. Daarom wordt stack beschouwd als een LIFO-gegevensstructuur. In wachtrijen worden items die het eerst worden toegevoegd als eerste uit de wachtrij verwijderd. Daarom wordt wachtrij beschouwd als een FIFO-gegevensstructuur.

Verwante link:

Verschil tussen stapel en heap

Aanbevolen: