Stack vs Radhë
Stack është një listë e renditur në të cilën futja dhe fshirja e artikujve të listës mund të bëhet vetëm në një fund të quajtur krye. Për këtë arsye, stack konsiderohet si një strukturë e të dhënave Last in First Out (LIFO). Radha është gjithashtu një listë e renditur në të cilën futja e artikujve të listës bëhet në një skaj të quajtur prapa, dhe fshirja e artikujve bëhet në skajin tjetër të quajtur front. Ky mekanizëm i futjes dhe fshirjes e bën radhën një strukturë të dhënash First in First out (FIFO).
Çfarë është Stack?
Siç u përmend më herët, steka është një strukturë të dhënash në të cilën elementet shtohen dhe hiqen vetëm nga një fund i quajtur sipër. Stacks lejojnë vetëm dy operacione themelore të quajtura push dhe pop. Operacioni shtytës shton një element të ri në krye të pirgut. Operacioni pop heq një element nga maja e pirgut. Nëse pirgu është tashmë i mbushur, kur kryhet një operacion shtytjeje, ai konsiderohet si një tejmbushje e pirgut. Nëse një operacion pop kryhet në një pirg tashmë të zbrazët, ai konsiderohet si një rrjedhje e ulët e pirgut. Për shkak të numrit të vogël të operacioneve që mund të kryhen në një pirg, ai konsiderohet si një strukturë e kufizuar e të dhënave. Për më tepër, sipas mënyrës se si përcaktohen operacionet push dhe pop, është e qartë se elementët që u shtuan të fundit në pirg dalin së pari nga rafti. Prandaj staku konsiderohet si një strukturë e të dhënave LIFO.
Çfarë është Radha?
Në një radhë, elementët shtohen nga pjesa e pasme e radhës dhe hiqen nga pjesa e përparme e radhës. Meqenëse elementët që shtohen të parët do të hiqen së pari nga radha, ajo ruan rendin FIFO. Për shkak të këtij rendi të shtimit dhe heqjes së elementeve, rradha përfaqëson idenë e një linje pagese. Operacionet e përgjithshme të mbështetura nga një radhë janë operacionet en-queue dhe de-queue. Operacioni En-queue do të shtojë një element në pjesën e pasme të radhës, ndërsa operacioni de-queue heq një element nga pjesa e përparme e radhës. Në përgjithësi, radhët nuk kanë një kufi në numrin e elementeve që mund të shtohen në radhë përveç kufizimeve të memories.
Cili është ndryshimi midis Stack dhe Queue?
Edhe pse raftet dhe radhët janë lloje të listave të renditura, ato kanë disa dallime të rëndësishme. Në rafte, shtimi ose fshirja e artikujve mund të bëhet vetëm nga një skaj i quajtur sipër, ndërsa në radhë shtimi i artikujve bëhet nga një skaj i quajtur prapa dhe fshirja e artikujve bëhet nga skaji tjetër i quajtur i përparmë. Në një pirg, artikujt që shtohen të fundit në pirg do të hiqen së pari nga pirgja. Prandaj stack konsiderohet si një strukturë e të dhënave LIFO. Në radhë, artikujt që shtohen të parët do të hiqen së pari nga radha. Prandaj radha konsiderohet si një strukturë e të dhënave FIFO.
Lidhje e ngjashme:
Dallimi midis pirgut dhe grumbullit