Dallimi midis Stackit dhe Heap

Dallimi midis Stackit dhe Heap
Dallimi midis Stackit dhe Heap

Video: Dallimi midis Stackit dhe Heap

Video: Dallimi midis Stackit dhe Heap
Video: DHCP Explained - протокол динамической конфигурации хоста 2024, Korrik
Anonim

Stack vs Heap

Stack është një listë e renditur në të cilën futja dhe fshirja e artikujve të listës mund të bëhet vetëm në një fund të quajtur krye. Për këtë arsye, steka konsiderohet si një strukturë e të dhënave Last in First Out (LIFO). Heap është një strukturë e veçantë e të dhënave që bazohet në pemë dhe plotëson një veti të veçantë të quajtur vetia heap. Gjithashtu, një grumbull është një pemë e plotë, që do të thotë se nuk ka boshllëqe midis gjetheve të pemës, d.m.th. në një pemë të plotë çdo nivel plotësohet përpara se të shtohet një nivel i ri në pemë dhe nyjet në një nivel të caktuar mbushen nga nga e majta në të djathtë.

Çfarë është Stack?

Siç u përmend më herët, stack është një strukturë të dhënash në të cilën elementet shtohen dhe hiqen vetëm nga një skaj i quajtur sipër. Stacks lejojnë vetëm dy operacione themelore të quajtura push dhe pop. Operacioni shtytës shton një element të ri në krye të pirgut. Operacioni pop heq një element nga maja e pirgut. Nëse pirgu është tashmë i mbushur, kur kryhet një operacion shtytjeje, ai konsiderohet si një tejmbushje e pirgut. Nëse një operacion pop kryhet në një pirg tashmë të zbrazët, ai konsiderohet si një rrjedhje e ulët e pirgut. Për shkak të numrit të vogël të operacioneve që mund të kryhen në një pirg, ai konsiderohet si një strukturë e kufizuar e të dhënave. Për më tepër, sipas mënyrës se si përcaktohen operacionet push dhe pop, është e qartë se elementët që u shtuan të fundit në pirg dalin së pari nga rafti. Prandaj staku konsiderohet si një strukturë e të dhënave LIFO.

Imazhi
Imazhi

Çfarë është Heap?

Siç u përmend më herët, grumbulli është një pemë e plotë që plotëson vetinë e grumbullit. Vetia e grumbullit thotë se, nëse y është një nyje fëmijë e x, atëherë vlera e ruajtur në nyjen x duhet të jetë më e madhe ose e barabartë me vlerën e ruajtur në nyjen y (d.m.th. vlera (x) ≥ vlera (y)). Kjo veti nënkupton që nyja me vlerën më të madhe do të vendoset gjithmonë në rrënjë. Një grumbull i ndërtuar duke përdorur këtë veti quhet max-grumbull. Ekziston një variant tjetër i vetive të grumbullit që shpreh të kundërtën e kësaj. (d.m.th. vlera (x) ≤ vlera (y)). Kjo nënkupton që nyja me vlerën më të vogël do të vendoset gjithmonë në rrënjë, kështu quhet min-grumbull. Ekziston një gamë e gjerë operacionesh që kryhen në grumbullime të tilla si gjetja e minimumit (në grumbullime minimale) ose maksimumit (në grumbullime maksimale), fshirja e minimumit (në grumbullime minimale) ose maksimale (në grumbullime maksimale), rritja (në maks. -grumbullime) ose çelësi zvogëlues (në min-grumbullime), etj.

Cili është ndryshimi midis Stack dhe Heap?

Dallimi kryesor midis pirgjeve dhe grumbujve është se ndërsa rafti është një strukturë lineare e të dhënave, grumbulli është një strukturë jo lineare e të dhënave. Stack është një listë e renditur që ndjek veçorinë LIFO, ndërsa grumbulli është një pemë e plotë që ndjek veçorinë heap. Për më tepër, stack është një strukturë e kufizuar e të dhënave që mbështet vetëm një numër të kufizuar operacionesh si push dhe pop, ndërsa grumbulli mbështet një gamë të gjerë operacionesh si gjetja dhe fshirja e minimumit ose maksimumit, rritja ose zvogëlimi i çelësit dhe bashkimi.

Recommended: