GeeksforGeeks

Stack A stack egy lineáris adatszerkezet, amelyben az elemek csak a lista egyik oldaláról, a tetejéről illeszthetők be és törölhetők. A verem a LIFO (Last In First Out) elvet követi, azaz az utolsóként beillesztett elem kerül ki elsőként. Egy elem beillesztését a verembe push műveletnek, egy elem törlését a veremből pedig pop műveletnek nevezzük. A veremben mindig a listában lévő utolsó elemet tartjuk számon egy top nevű mutatóval.

A verem sematikus ábrázolása az alábbiakban látható:

Queue: A várólista egy olyan lineáris adatszerkezet, amelybe csak a lista egyik, hátsónak nevezett oldaláról lehet elemeket beszúrni, és csak a másik, elülsőnek nevezett oldaláról lehet elemeket törölni. A várólista adatszerkezet a FIFO (First In First Out) elvet követi, azaz a listába elsőként beillesztett elem az, amelyik elsőként törlődik a listából. Egy elem beillesztését a várólistába enqueue műveletnek, egy elem törlését pedig dequeue műveletnek nevezzük. A sorban mindig két mutatót tartunk fenn, az egyik az első helyen beillesztett és még a listában lévő elemre mutat az elülső mutatóval, a másik pedig az utolsó helyen beillesztett elemre mutat a hátsó mutatóval.

A sorban állás sematikus ábrázolása az alábbiakban látható:

A verem és a sorban állás adatszerkezetek közötti különbség

Stack Queues
A verem a LIFO elv alapján működik, azaz, A sorozatok a FIFO elven alapulnak, azaz, az elsőként beillesztett elem kerül ki elsőként a listából.
A halmokban a beillesztés és törlés csak a lista egyik végéről, a tetejéről történik. A sorokban a beillesztés és törlés a lista ellentétes végeiről történik. A beszúrás a lista hátsó végén történik, a törlés pedig a lista elejéről.
A beszúrási műveletet push műveletnek nevezzük. A beszúrási műveletet enqueue műveletnek nevezzük.
A törlési műveletet pop műveletnek nevezzük. A törlési műveletet dequeue műveletnek nevezzük.
A veremben a listához való hozzáféréshez csak egy mutatót tartunk fenn, amelyet topnak nevezünk, és amely mindig a listában lévő utolsó elemre mutat. A sorokban a listához való hozzáféréshez két mutatót tartunk fenn. Az elülső mutató mindig az első, a listába beillesztett és még jelen lévő elemre mutat, a hátsó mutató pedig mindig az utoljára beillesztett elemre.
A veremet a rekurzióval dolgozó problémák megoldásánál használjuk. A várólistát a szekvenciális feldolgozással rendelkező problémák megoldásánál használjuk.
Article Tags :

Gyakorlat Címkék :

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.