Stack and Queue

Anonim

Ang parehong stack at queue ay tinukoy sa pamamagitan ng isang sunud-sunod na koleksyon ng mga bagay na nakaayos sa isang partikular na pagkakasunud-sunod sa isang istraktura ng data batay sa ilang mga katumbas na real-buhay. Parehong mga linear na istraktura ng data na ginagamit upang mahusay na mag-imbak at makuha ang mga elemento ng data, maliban sa nagtatrabaho na prinsipyo. Ang isang stack ay isang naayos na listahan ng mga elemento kung saan ang lahat ng mga insertion at deletion ay ginawa sa parehong dulo, samantalang ang queue ay eksaktong kabaligtaran ng isang stack na bukas sa parehong mga dulo na nangangahulugan na ang isang dulo ay ginagamit upang magsingit ng data habang ang iba pang upang alisin data. Ang pangunahing pagkakaiba sa pagitan ng dalawa ay ang kanilang mekanismong nagtatrabaho.

Ano ang isang Stack?

Ang isang stack ay isang linear na istraktura ng data na ginagamit upang ayusin ang data sa isang partikular na paraan upang magamit ito nang mahusay. Ang mga machine ay nangangailangan ng mga direksyon upang makamit ang mga gawain na simple at kumplikado sa anyo ng mga utos. Katulad nito, ang data ay maaaring nakabalangkas sa maraming iba't ibang mga paraan at ang isa sa mga pinaka mahusay na istruktura ng data ay mga stack. Ito ay isang abstract na istraktura ng data na kahawig ng isang pisikal na stack kung saan ang mga bagay ay nakaayos sa isang partikular na pagkakasunud-sunod, partikular na batay sa isang huling-in-unang-out (LIFO) na mekanismo na nangangahulugang ang huling item na idinagdag ay ma-access muna at kabaligtaran. Ang pinakakaraniwang application ng istraktura ng isang stack data ay backtracking o ang Lalim-unang algorithm ng paghahanap.

Ano ang Queue?

Queue ay isang linear na istraktura ng data, medyo katulad sa istraktura ng isang stack data, maliban kung ito ay bukas sa parehong mga dulo. Ito ay isang sunud-sunod na koleksyon ng mga bagay na katulad ng pila ng mga tao. Hindi tulad ng mga stack, ito ay batay sa first-in-first-out (FIFO) na prinsipyo na nangangahulugan na ang pinakamaagang naidagdag na item ay maaaring ma-access muna at vice-versa. Sa isang queue, ang isang dulo ay ginagamit upang ipasok ang mga item at ang kabilang dulo upang alisin ang mga item. Tulad ng isang linya ng mga tao, ang mga bagong entidad ay inilalagay sa likuran at na-pinaglilingkuran na mga entity ay inalis mula sa harap. Pinapayagan ang dalawang operasyon sa isang queue: enqueue at dequeue. Ang enqueue ay tumutukoy sa pagdaragdag ng mga item sa likod at dequeue ay nangangahulugan ng pag-alis ng mga item mula sa harap.

Pagkakaiba sa pagitan ng Stack at Queue

Kahulugan ng Stack and Queue

Stack ay isang pangunahing istraktura ng data, isang abstract na uri ng data na kinakatawan ng isang linear na istraktura kahawig ng isang pisikal na stack kung saan ang object ay maaaring idagdag sa anumang oras ngunit maaaring alisin na idinagdag huling. Sa simpleng mga termino, ang pagpapasok at pag-alis ng mga bagay sa istraktura ng isang stack data ay tumatagal ng lugar sa isang dulo na kung saan ay ang tuktok ng stack. Queue ay medyo katulad sa stack maliban ito ay bukas sa parehong mga dulo - isang dulo upang ipasok ang bagay at ang iba pang mga upang alisin ang bagay na nangangahulugan na ang mga bagay na naka-imbak muna ma-access muna.

Paggawa Prinsipyo sa Stack at Queue

Ang parehong stack at queue ay di-primitive abstract na mga uri ng data sa istraktura ng data na nagsilbi bilang isang koleksyon ng mga bagay kung saan ang mga entity ay nakaimbak sa isang partikular na order. Ang isang stack ay isang lalagyan ng mga bagay kung saan ang mga entity ay iniimbak at inalis batay sa huling-in-first-out (LIFO) na nagtatrabaho prinsipyo na nangangahulugan na ang mga bagay ay maaaring ma-imbak at makuha sa isang pagkakataon. Ang isang queue, sa kabilang banda, ay isang koleksyon ng mga bagay kung saan ang mga entity ay iniimbak at inalis ayon sa unang-in-first-out (FIFO) na prinsipyo.

Istraktura ng Stack at Queue

Ang pangalan ng stack ay tumutukoy sa pagkakatulad ng isang istraktura kung saan ang mga item ay inilalagay sa ibabaw ng bawat isa tulad ng isang stack tulad ng isang packet ng mga biskwit. Ang isang dulo ay ginagamit upang ilagay at alisin ang mga bagay mula sa stack na ginagawang madali upang pumili ng isang bagay mula sa tuktok, habang ginagawa itong mahirap sa parehong oras upang ma-access ang huling bagay na nangangailangan ng pag-alis ng maramihang mga item isa isa na nagsisimula mula sa tuktok. Ang queue ay ang kabaligtaran ng mga stack na nangangahulugang ang mga bagong bagay ay inilalagay sa likuran at inalis mula sa harap tulad ng isang libro.

Mga Operasyon

Mayroong dalawang pangunahing mga operasyon na maaaring isagawa sa mga stack: push, na karaniwang nagdadagdag ng isang item sa stack at kung ang stack ay puno pagkatapos ito ay isang Overflow na kondisyon, at pop, na inalis ang pinakabagong item mula sa stack at isang walang laman na stack, ay tumutukoy sa isang kondisyon ng Underflow. Mayroong karagdagang pag-uusap na may kaugnayan sa mga stack na nagbibigay-daan sa iyo upang ma-access ang item sa itaas nang hindi binabago ang stack. Dalawang pangunahing mga prinsipyo ang nauugnay sa queue: enqueue na nangangahulugan ng pagdaragdag ng mga bagay sa likuran, at dequeue na tumutukoy sa pagtanggal ng mga bagay mula sa harap.

Mga Application ng Stack and Queue

Ang isa sa mga pinaka pangunahing mga application ng isang istraktura ng stack data ay ang Lalim-unang algorithm ng paghahanap, na batay sa ideya ng pag-backtrack na pangunahin na ginagamit para sa paghahanap ng graph o puno ng istraktura ng data. Maaari rin itong gamitin para sa tagatala / operating system upang iproseso ang mga tawag sa pagpapaandar o upang ipatupad ang mga recursive function. Ang pinaka-karaniwang aplikasyon ng isang istraktura ng data ng queue ay ang pag-iiskedyul ng CPU o pag-iiskedyul ng disk o pananaliksik ng operasyon. Ang isang tunay na halimbawa ng buhay ng isang istraktura ng data ng queue ay ang queue ng mga tao mismo kung saan ang unang nakatayo sa linya ay ihahatid muna.

Stack vs. Queue: Tsart ng Paghahambing

Buod ng Stack vs Queue

Ang parehong stack at queue ay di-primitive abstract data structures na tinukoy bilang isang koleksyon ng mga bagay na nakaayos sa isang partikular na order sa isang computer, ngunit may iba't ibang mga prinsipyo sa pagtatrabaho. Habang ang parehong nauugnay sa organisasyon at imbakan ng data, ginagawa nila ito sa ibang paraan.Stack ay isang pangunahing istraktura ng data batay sa prinsipyo ng LIFO tinatawag din bilang huling-in-unang out ibig sabihin ang item idinagdag huling ay ma-access muna o FILO ibig sabihin ang unang item sa ay na-access huling. Sa kabilang banda, ang queue ay batay sa FIFI (first-in-first-out) na prinsipyo na nangangahulugan na ang pinakamaagang item ay ma-access muna.