Stack vs Queue
Stack ir sakārtots saraksts, kurā saraksta vienumu ievietošanu un dzēšanu var veikt tikai vienā galā, ko sauc par augšdaļu. Šī iemesla dēļ kaudze tiek uzskatīta par pēdējās pirmās (LIFO) datu struktūru. Rinda ir arī pasūtīts saraksts, kurā saraksta vienumu ievietošana tiek veikta vienā galā, ko sauc par aizmuguri, un priekšmetu dzēšana tiek veikta otrā galā, ko sauc par priekšpusi. Šis ievietošanas un dzēšanas mehānisms padara rindu par pirmo iekšpusē (FIFO) datu struktūru.
Kas ir kaudze?
Kā minēts iepriekš, kaudze ir datu struktūra, kurā elementi tiek pievienoti un noņemti tikai no viena gala, ko sauc par augšdaļu. Skursteņi ļauj veikt tikai divas pamata operācijas, ko sauc par push un pop. Stumšanas operācija pievieno jaunu elementu kaudzes augšpusē. Pop operācija noņem elementu no kaudzes augšdaļas. Ja kaudze jau ir pilna, tad, kad tiek veikta spiediena operācija, to uzskata par kaudzes pārpildi. Ja pop operācija tiek veikta jau tukšā kaudzē, tā tiek uzskatīta par kaudzes nepietiekamu plūsmu. Sakarā ar nelielo operāciju skaitu, ko varētu veikt kaudzī, to uzskata par ierobežotu datu struktūru. Turklāt, tā kā tiek definētas push un pop operācijas, ir skaidrs, ka elementi, kas pēdējie tika pievienoti kaudzē, vispirms iziet no kaudzītes. Tāpēc kaudze tiek uzskatīta par LIFO datu struktūru.
Kas ir rinda?
Rindā elementi tiek pievienoti no rindas aizmugures un noņemti no rindas priekšpuses. Tā kā vispirms pievienotie elementi vispirms tiks noņemti no rindas, tas uztur FIFO pasūtījumu. Sakarā ar šo elementu pievienošanas un noņemšanas secību rinda atspoguļo izrakstīšanās līnijas ideju. Vispārējās operācijas, kuras atbalsta rinda, ir rindas un rindas operācijas. Operācija rindā pievienos elementu rindas aizmugurē, bet rindas operācija noņem elementu no rindas priekšpuses. Parasti rindām nav ierobežots to elementu skaits, kurus var pievienot rindai, papildus atmiņas ierobežojumiem..
Kāda ir atšķirība starp steku un rindu?
Pat ja gan kaudzes, gan rindas ir sakārtoti saraksti, tām ir dažas būtiskas atšķirības. Skursteņos priekšmetu pievienošanu vai dzēšanu var veikt tikai no viena gala, ko sauc par augšpusi, savukārt rindās priekšmetu pievienošana tiek veikta no viena gala, ko sauc par aizmuguri, un priekšmetu dzēšana tiek veikta no otra gala, ko sauc par priekšpusi. Kaudzīti priekšmeti, kas pēdējie ir pievienoti kaudzē, vispirms tiks noņemti no kaudzītes. Tāpēc kaudze tiek uzskatīta par LIFO datu struktūru. Rindās priekšmeti, kas tiek pievienoti vispirms, vispirms tiks noņemti no rindas. Tāpēc rinda tiek uzskatīta par FIFO datu struktūru.
Saistītā saite:
Atšķirība starp kaudzīti un kaudzi