Diferența dintre stivă și coadă

Diferența dintre stivă și coadă
Diferența dintre stivă și coadă

Video: Diferența dintre stivă și coadă

Video: Diferența dintre stivă și coadă
Video: Stack vs Heap Memory - Simple Explanation 2024, Iulie
Anonim

Stiva vs coada

Stack este o listă ordonată în care inserarea și ștergerea elementelor din listă se poate face doar într-un capăt numit partea de sus. Din acest motiv, stiva este considerată ca o structură de date Last in First out (LIFO). Coada este, de asemenea, o listă ordonată în care inserarea elementelor din listă se face într-un capăt numit spate, iar ștergerea articolelor se face în celăl alt capăt numit față. Acest mecanism de inserare și ștergere face din coadă o structură de date First in First out (FIFO).

Ce este Stack?

Așa cum am menționat mai devreme, stiva este o structură de date în care elementele sunt adăugate și eliminate dintr-un singur capăt numit partea de sus. Stivele permit doar două operațiuni fundamentale numite push și pop. Operația de împingere adaugă un nou element în partea de sus a stivei. Operația pop elimină un element din partea de sus a stivei. Dacă stiva este deja plină, atunci când se efectuează o operație de împingere, aceasta este considerată o supraîncărcare a stivei. Dacă o operațiune pop este efectuată pe o stivă deja goală, este considerată ca o stivă sub depășire. Datorită numărului mic de operațiuni care ar putea fi efectuate pe o stivă, aceasta este considerată o structură de date restrânsă. În plus, conform modului în care sunt definite operațiunile push și pop, este clar că elementele care au fost adăugate ultimele în stivă ies mai întâi din stivă. Prin urmare, stiva este considerată o structură de date LIFO.

Imagine
Imagine
Imagine
Imagine

Ce este coada?

Într-o coadă, elementele sunt adăugate din spatele cozii și eliminate din partea din față a cozii. Deoarece elementele care sunt adăugate mai întâi vor fi eliminate mai întâi din coadă, acesta menține ordinea FIFO. Datorită acestei ordini de adăugare și eliminare a elementelor, coada reprezintă ideea unei linii de checkout. Operațiile generale suportate de o coadă sunt operațiunile de în coadă și de scoatere din coadă. Operația în coadă va adăuga un element în spatele cozii, în timp ce operațiunea în coadă va elimina un element din partea din față a cozii. În general, cozile nu au o limită a numărului de elemente care pot fi adăugate la coadă în afară de constrângerile de memorie.

Care este diferența dintre Stack și Queue?

Chiar dacă atât stivele, cât și cozile sunt tipuri de liste ordonate, au unele diferențe importante. În stive, adăugarea sau ștergerea articolelor se poate face doar de la un capăt numit vârf, în timp ce în cozi adăugarea articolelor se face de la un capăt numit spate și ștergerea articolelor se face de la celăl alt capăt numit față. Într-o stivă, articolele care sunt adăugate ultimele în stivă vor fi scoase mai întâi din stivă. Prin urmare, stiva este considerată ca o structură de date LIFO. În cozi, articolele care sunt adăugate mai întâi vor fi eliminate mai întâi din coadă. Prin urmare, coada este considerată ca o structură de date FIFO.

Link similar:

Diferența dintre stiva și grămada

Recomandat: