Туплам куринишидаги реализация.
Бундай ташкил этишнинг ютуклари:
Белгилар жадвалига тезликда хотира ажратилиши ( ьир марта тупламни эълон этилиши пайтида амалга оширилади).
Тупламнинг бошка элементларини жойлаштириш хакидаги маълумотни саклаш зарурияти йуклиги сабабли, жойни иктисод килишга эришилади.
Тезкор кидирув усулларини амалга оширишнинг соддалигига эришилади (стекни имитацияси ва х.к.).
Камчиликлари:
Кичкина дастурлар ва кам идентификаторлар иштирок этган холдаги трансляция жараёнида хотиранинг фойдасиз ишлатилиши, чунки тупламнинг каттагина кисми ишлатилмай колиб кетади.
Катта дастурларни трансляциясида вактида шундай холат юзага келиши мумкинки, узгарувчилар хакидаги маълумотни жойлаштириш учун физик хотира бор, лекин туплам эса тулиб булган. Бу холда мос равишда тулиб кетиш сабабли трансляцияни амалга ошириб булмайди.
Занжирли структура куринишидаги реализация (богланган руйхат).
Бундай ташкил этишнинг ютукларидан бири бу хотира ресурсларидан тулик фойдаланишдир.
Камчиликлари:
1. Хотира ажратилиши нисбатан секин амалга оширилади, чунки хар бир элемент учун алохида ажратилиди.
2. Хотиранинг кушимча харажатланиши, яъни кейинги ва олдинги элементга курсаткичлар сакланади.
Амалиётда яна ушбу куринишларнинг комбинацияси хам учраши мумкин.
Ифодаланиш учраши билан белгилар жадвалининг мос элементи стекнинг юкори кисмига жойлашади, блокдан чикишда эса, ушбу блокдаги ифодалашга мос келувчи, белгилар жадвалининг барча элементлари стекдан кетадилар. Стекнинг курсаткичи блокка кириш пайтидаги холатигача пасаяди. Натижада разборнинг ихтиёрий вактида белгилар жадвалининг жорий идентификаторларга мос келувчи элементлари стекда жойлашади, улар билан боглик идентификаторларни амалий ва аникловчи реализациялари стекда юкоридан пастга кидирувни талаб килади. Занжирли структура урнига стекдан фойдаланиш занжир структурасида курсаткичлар банд этган жойни иктисод килиш имконини беради.
Караб чикилган усул куйидаги расмда келтирилган.
Дастур куриниши Стек
{ d char
int a,b; c char
{ b int
char c, d; a int
} f int
{ e int
int e,f; b int
} a int
}
Расм Стек билан амалга оширилиш варианти.
Do'stlaringiz bilan baham: |