Stack vs Heap
Стек – бул иреттелген тизме, анда тизменин элементтерин киргизүү жана жок кылуу жогорку деп аталган бир четинде гана аткарылат. Ушул себептен улам, стек акыркы кирген биринчи чыккан (LIFO) маалымат структурасы катары каралат. Үймөк - бул дарактарга негизделген атайын маалымат структурасы жана ал үймөк касиети деп аталган өзгөчө касиетти канааттандырат. Ошондой эле, үймөк - бул толук дарак, демек, дарактын жалбырактарынын ортосунда боштуктар жок, башкача айтканда, толук даракта ар бир деңгээл даракка жаңы деңгээлди кошуудан мурун толтурулат жана берилген деңгээлдеги түйүндөр төмөнкүдөн толтурулат. солдон оңго.
Стек деген эмне?
Мурда айтылгандай, стек – бул жогорку деп аталган бир четинен гана элементтер кошулуп жана алынып салынган маалымат структурасы. Стектер түртүү жана поп деп аталган эки гана негизги операцияга мүмкүндүк берет. Түртүү операциясы стектин башына жаңы элементти кошот. Поп операциясы стектин үстүндөгү элементти алып салат. Эгерде стек толуп калса, түртүү операциясы аткарылганда, ал стектин толуп кетиши катары каралат. Эгерде поп операциясы мурунтан эле бош стекте аткарылса, ал стектин аздыгы катары каралат. Стекте аткарыла турган операциялардын саны аз болгондуктан, ал чектелген маалымат структурасы катары каралат. Кошумчалай кетсек, түртүү жана поп операциялары аныкталган жолго ылайык, стекке акыркы кошулган элементтер стектен биринчи чыгып кетээри анык. Ошондуктан стек LIFO маалымат түзүмү катары каралат.
Дөбө деген эмне?
Мурда айтылгандай, үймөк үймөк касиетин канааттандырган толук дарак. Үймөк касиети, эгерде y хтин туунду түйүнү болсо, анда х түйүнүндө сакталган маани у түйүнүндө сакталган мааниден чоң же барабар болушу керек (б.а. маани(x) ≥ мааниси(y)) деп айтылат. Бул касиет эң чоң мааниге ээ түйүн дайыма тамырга жайгаштырыла турганын билдирет. Бул касиеттин жардамы менен курулган үймөк максимум үймөк деп аталат. Мунун тескерисин билдирген үймөк касиетинин дагы бир варианты бар. (б.а. маани(x) ≤ маани(y)). Бул эң кичине мааниге ээ түйүн дайыма тамырга жайгаштырылып, мин-үймөк деп аталат дегенди билдирет. Минималдуу (мин-үймөлөрдө) же максимумда (максималдуу үймөктө), минималдуу (мин-үймөлөрдө) же максимумда (максимумда) жок кылуу, көбөйтүү (макс менен) сыяктуу үймөлөрдө аткарылуучу операциялардын кеңири спектри бар. -үймөктөр) же азайтуучу (мин-үймөлөрдө) баскычы ж.б.
Стек менен үймөктүн ортосунда кандай айырма бар?
Стек менен үймөктүн негизги айырмасы, стек сызыктуу маалымат структурасы болсо, үймөк сызыктуу эмес маалымат структурасы. Стек - бул LIFO касиетинен кийинки иреттелген тизме, ал эми үймөк үймөк касиетинен кийинки толук дарак. Андан тышкары, стек чектелген маалымат структурасы, ал түртүү жана поп сыяктуу операциялардын чектелген санын гана колдойт, ал эми үймөк минималдуу же максимумду табуу жана жок кылуу, ачкычты көбөйтүү же азайтуу жана бириктирүү сыяктуу операциялардын кеңири спектрин колдойт.