Stivă vs Coadă
Stiva este o listă ordonată în care inserarea și ștergerea articolelor de listă se poate face numai î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 articolelor de listă se face într-un capăt numit partea din spate, iar ștergerea articolelor se face în celălalt capăt numit partea din față. Acest mecanism de inserare și ștergere face coada o structură de date First in First Out (FIFO).
Ce este Stack?
Așa cum am menționat anterior, stiva este o structură de date în care elementele sunt adăugate și eliminate de la un singur capăt numit partea de sus. Stivele permit doar două operații fundamentale numite push și pop. Operația de împingere adaugă un element nou î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țiune de împingere, aceasta este considerată ca o revărsare a stivei. Dacă se efectuează o operație pop pe o stivă deja goală, aceasta este considerată ca un flux de stivă. Datorită numărului mic de operații care ar putea fi efectuate pe un teanc, acesta este considerat o structură de date restricționată. În plus, în funcție de modul în care sunt definite operațiile push și pop, este clar că elementele care au fost adăugate ultima dată în stivă ies din stivă mai întâi. Prin urmare, stiva este considerată ca o structură de date LIFO.
Ce este Coada?
Într-o coadă, elementele sunt adăugate din partea din spate a 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 ordine de adăugare și eliminare a elementelor, coada reprezintă ideea unei linii de plată. Operațiile generale acceptate de o coadă sunt operații de așteptare și de așteptare. Operațiunea de așteptare va adăuga un element în partea din spate a cozii, în timp ce operațiunea de așteptare elimină 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, ele au unele diferențe importante. În stive, adăugarea sau ștergerea articolelor se poate face numai dintr-un capăt numit partea de sus, în timp ce în cozi adăugarea articolelor se face dintr-un capăt numit partea din spate și ștergerea articolelor se face din celălalt capăt numit partea din față. Într-o stivă, elementele care sunt adăugate ultima dată în stivă vor fi eliminate mai întâi din stivă. Prin urmare, stiva este considerată ca o structură de date LIFO. În cozi, elementele 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 asociat:
Diferența dintre Stack și Heap