„Stack vs Queue“
„Stack“yra sutvarkytas sąrašas, kuriame sąrašo elementus galima įterpti ir ištrinti tik viename gale, vadinamame viršuje. Dėl šios priežasties kaminas yra laikomas „Last in First out“(LIFO) duomenų struktūra. Eilė taip pat yra sutvarkytas sąrašas, kuriame sąrašo elementai įterpiami viename gale, vadinamame galu, o elementai ištrinami kitame gale, vadinamame priekyje. Dėl šio įterpimo ir ištrynimo mechanizmo eilė tampa „First in First out“(FIFO) duomenų struktūra.
Kas yra „Stack“?
Kaip minėta anksčiau, „stack“yra duomenų struktūra, kurioje elementai pridedami ir pašalinami tik iš vieno galo, vadinamo viršuje. „Stacks“leidžia atlikti tik dvi pagrindines operacijas, vadinamas „push and pop“. Stūmimo operacija prideda naują elementą prie kamino viršaus. „Pop“operacija pašalina elementą iš kamino viršaus. Jei kaminas jau pilnas, kai atliekama stūmimo operacija, tai laikoma kamino perpildymu. Jei „pop“operacija atliekama jau tuščioje rietuvėje, tai laikoma stekos nepakankamu srautu. Dėl nedidelio kiekio operacijų, kurias buvo galima atlikti su kaupu, skaičius laikomas ribota duomenų struktūra. Be to, atsižvelgiant į tai, kaip apibrėžiamos „push“ir „pop“operacijos, akivaizdu, kad elementai, kurie paskutiniai buvo pridėti prie kamino, pirmiausia išeina iš kamino. Todėl kaminas laikomas LIFO duomenų struktūra.
Kas yra eilė?
Eilėje elementai pridedami iš eilės galo ir pašalinami iš eilės priekio. Kadangi pirmiausia pridėti elementai bus pašalinti iš eilės, jis palaiko FIFO tvarką. Dėl šios elementų pridėjimo ir pašalinimo tvarkos eilė atspindi kasos eilutės idėją. Bendros operacijos, palaikomos eilės, yra eilės ir eilės operacijos. Eilės operacija pridės elementą eilės gale, o eilės pašalinimo operacija pašalins elementą iš eilės priekio. Paprastai eilėse be atminties apribojimų neribojamas elementų, kuriuos galima pridėti prie eilės, skaičius.
Kuo skiriasi „Stack“ir „Queue“?
Nors ir kaminai, ir eilės yra rūšiniai sąrašai, jie turi keletą svarbių skirtumų. Kupėse elementus pridėti arba ištrinti galima tik iš vieno galo, vadinamo viršuje, o eilėse elementai pridedami iš vieno galo, vadinamo galu, o elementai ištrinami iš kito galo, vadinamo priekiu. Šūsnyje daiktai, kurie paskutiniai pridėti prie rietuvės, pirmiausia bus pašalinti iš rietuvės. Todėl „stack“yra laikoma LIFO duomenų struktūra. Eilėse pirmiausia pridėti elementai bus pridėti iš eilės. Todėl eilė laikoma FIFO duomenų struktūra.
Susijusi nuoroda:
Skirtumas tarp kamino ir kaupo