Стекти колдонуу

Маалыматты табак үймөгүндөй акыркы келген биринчи кетет сактаңыз.

Болжол менен 4 мүнөт окуу
  • Стекти колдонууну өз сөзүңүз менен аныктап, түшүндүрүңүз
  • «Стек» сыяктуу негизги терминдерди так колдонуңуз
  • Үйрөнгөнүңүздү жаңы мисалдарга жана суроолорго колдонуңуз
  • Бул темада окуучулар кетирген кеңири таралган каталардан сактаныңыз

Тизме ар дайым туура курал эмес: артка алуу баскычтары, басып чыгаруу кезектери, файл системалары жана навигаторлор маалыматты уюштуруунун өз жолуна муктаж. Маалымат түзүмдөрү — ушул атайын идиштер, жана туура тандоо — иштеген код менен көрктүү кодду бөлгөн нерсе. Бул бөлүм ар бир A-level окуучусу өздөштүрүшү керек болгон төрт түзүмдү курат.

Бул сабак стекти колдонууга арналат: маалыматты табак үймөгүндөй акыркы келген биринчи кетет сактаңыз.

Аныктама: Стекти колдонуу

Маалыматты табак үймөгүндөй акыркы келген биринчи кетет сактаңыз.

Негизги идеялар

LIFO менен FIFO баарын өзгөртөт

Стектер тартипти тескери кылат — артка алуу, артка баскычтары жана тең салмактуу кашааларды текшерүү үчүн эң жакшы. Кезектер тартипти сактайт — басып чыгаруу кезеги жана сурамдарды адилеттүү иштетүү үчүн эң жакшы. Операциялар да айырмаланат: стектер үстүнө коёт жана алат, ал эми кезектер артына коёт жана алдыдан чыгарат. Туура эмес тандоо унчукпай туура эмес жоопторду берет.

Дарактар издөөнү экиге бөлүүгө айландырат

Экилик издөө дарагы кичине маанилерди солдо, чоң маанилерди оңдо кармайт, ошондуктан ар бир салыштыруу дарактын жарымын алып салат — экилик издөөдөгүдөй эле идея, түзүмгө орнотулган. Өтүүлөр түйүндөргө ар кандай тартипте барат: экилик издөө дарагындагы ич ара өтүү маанилерди сорттолгон берет. Киргизүү тартиби даракты калыптандырат, ал эми начар тартиптеги киргизүү аны жай байланышкан тизмеге айлантат.

Термин — стек: Акыркы келген биринчи кетет түзүмү: элементтер үстү деп аталган бир эле учтан коюлат жана алынат — пружиналуу табак тараткыч сыяктуу.

Стекти изилдөө

Бош стектен баштаңыз. 4 коюңуз, 7 коюңуз, алыңыз, 2 коюңуз, алыңыз. Ар бир алуу эмне кайтарат жана эмне калат?

4 коюу: стек [4] болот, 4 үстүндө. 7 коюу: стек [4, 7] болот, 7 үстүндө. Алуу үстүнөн алат, ошондуктан биринчи алуу 7ни кайтарат. Стек [4] болот. 2 коюу: стек [4, 2] болот, 2 үстүндө. Кайра алуу үстүнкүнү алат, ошондуктан экинчи алуу 2ни кайтарат. Стек [4] болот.

Жооп: Алуулар 7ни, андан соң 2ни кайтарат, ал эми стекте болгону [4] калат — акыркы келген биринчи кетет.

Кеңири таралган каталар
  • Кезек керек жерде стек колдонуу Түзөтүү: «биринчи келген биринчи тейлөөнүшү керекпи?» деп сураңыз — ооба болсо кезек керек; стек акыркы келгенди биринчи тейлемек.
  • Бош түзүмдөн алуу же бош кезектен чыгаруу Түзөтүү: ар дайым алгач түзүм бош эмес экенин текшериңиз — эч нерседен алуу ашыкча кетүү катасына алып келет.

Практика

Веб-браузердин артка баскычын кайсы түзүм моделдейт: стекпи же кезекпи? Эмне үчүн?
Акыркы барган баракча — кайра бара турган биринчи баракча.

Стек — ар бир жаңы баракча коюлат, ал эми Артка эң акыркы баракчаны алат, бул акыркы келген биринчи кетет дегенди билдирет.

Туурабы же туура эмес: туюнтмадагы кашаалар тең салмактуу экенин текшерүү үчүн стекти колдонууга болот.
Эмне биринчи жабылышы керек экенин ойлонуңуз.

Туура — ар бир ачуучу кашааны коюп, ар бир жабуучу кашаада алыңыз; эң акыркы ачылганы биринчи жабылышы керек, бул так LIFO.

Кезек A алдыда тургандай [A, B, C] кармайт. Бир чыгаруу жана бир D кошуудан кийин кезек кандай болот?
Чыгаруу алдыдан алат; кошуу артына коёт.

[B, C, D] — A алдыдан кетет, D артына кошулат.

5, 3, 8, 1ди ушул тартипте бош экилик издөө дарагына киргизиңиз. Тамырдын сол баласы ким?
Кичинекей маанилер ар бир түйүндүн солуна кетет.

3 — ал 5 тамырынын солуна кетет, андан соң 1, 3түн солуна кетет.

Тез текшерүү

Стекти колдонуу — тез текшерүү

Төмөнкүлөрдүн кайсынысы "стек"ти эң жакшы аныктайт?

Акыркы келген биринчи кетет түзүмү: элементтер үстү деп аталган бир эле учтан коюлат жана алынат — пружиналуу табак тараткыч сыяктуу.

Жол тармагы граф катары моделденсе, түйүндөр, кырлар жана салмактар эмнени билдирет?

Түйүндөр — кесилиштер (же шаарлар), кырлар — алардын ортосундагы жолдор, ал эми салмактар — аралыктар же жол убактысы.

Экилик издөө дарагынын ич ара өтүүсү эмне берет?

Маанилер өсүү тартибинде сорттолгон.
Негизги жыйынтыктар
  • Стекти колдонуу: маалыматты табак үймөгүндөй акыркы келген биринчи кетет сактаңыз.
  • LIFO менен FIFO баарын өзгөртөт: Стектер тартипти тескери кылат — артка алуу, артка баскычтары жана тең салмактуу кашааларды текшерүү үчүн эң жакшы.
  • Түйүн: Дарак же графтагы бир элемент; маалыматты жана башка түйүндөргө шилтемелерди кармайт.
  • Сак болуңуз: кезек керек жерде стек колдонуу