1 / 10

Stiva

Stiva. Mario Dragos Luigi Noob Adrian. Stiva. Stiva este o structura de date abstracta pentru care atat operatia de inserare a unui element in structura cat si operatia de extragere a unui element se realizeaza la un singur capat , denumit varful stivei .

megan
Télécharger la présentation

Stiva

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Stiva MarioDragos LuigiNoobAdrian

  2. Stiva • Stivaeste o structura de date abstractapentru care atatoperatia de inserare a unui element in structura cat sioperatia de extragere a unui element se realizeaza la un singurcapat, denumitvarfulstivei. • Acest mod de functionare face ca ultimul element inserat in stivasa fie primul extras. Din acestmotiv,stivaestedefinita ca o structura de date care functioneazadupaprincipiulLIFO(Last In First Out – UltimulIntratPrimulIesit).

  3. Operatiicaracteristice -Inserareaunui element in listasauoperatia PUSH. -Eliminareaunui element din listasauoperatia POP. -Accesareaelementului din varfsauoperatia TOP.

  4. Care esteutilitateastivelor? • In informaticastivajoaca un rol fundamental. Pentru a intelegemecanismefundamentale ale programariiestenecesaracunoastereauneinotiuni de stiva. Pescurt, stivaesteutila in situatii in care estenecesaramemorareaunorinformatiisiregasireaacestoraintr-o anumitaordine, descrisa de principiulLIFO.

  5. Cum implementam o stiva? • Stivaeste o structura de date abstracta, cepoatefiimplementata in diferitemoduri. De exempluputemimplementa o stiva ca un vector in care retinemelementelestivei. Pentru ca acest vector safunctioneze ca o stiva, singureleoperatiipermisesuntoperatiilecaracteristicestivei.

  6. Creareauneistive vide • Pentru a crea o stivavidainitializamvarfulstivei cu -1 (varfulstiveiindicaintotdeaunapozitiaultimului element introdus in stiva; elementelesuntmemorate in vector incepand cu pozitia 0).

  7. Inserareaunui element in stiva • Pentru a insera un element in stiva S trebuiesaverificam in primul rand daca “avem loc”, decidacastiva nu esteplina. Dacastivaesteplina, inserarea nu se poate face, altfelvommarivarfulstiveisivomplasa la varfnoul element. • De exemplu, dacadorimsainseramelementul x=3 in stiva din figuraurmatoare, obtinem:

  8. Extragereaunui element din stiva • Pentru a extrage un element dintr-o stiva S trebuiesaverificam in primul rand dacaexistaelemente in stiva (decidacastiva nu estevida). Dacada, retinemelementul de la varfulstiveiintr-o variabila, dupa care micsoram cu o unitatevarfulstivei. • De exemplu, dacaextragem un element din stiva din figuraurmatoare, obtinem :

  9. Accesareaelementului de la varf • Prinmodulsaurestrictiv de functionare, stivapermitenumaiaccesareaelementului de la varf. Dacadorimsaaflamvaloareaunui alt element al stivei, artrebuisa “golim” stiva (decisaextragemsuccesivelemente) pana la elementuldorit. Accesareaelementului de la varfpresupunedeterminareavaloriiacestuiam, valoarepe care noi o vomretineintr-o variabiladenumita x.

  10. Observatii • Dezavantajulimplementariiuneistive ca vector alocat static consta in faptul ca indiferent de numarul de elementeexistente in stiva, dimensiuneazonei de memoriealocatastiveiesteaceeasi (DimMax). • Pentru a executaoperatii cu stivaalocata static estesuficientsacunoastemvarfulstivei.Casaretinemmaiusormodul de functionare a stivei, ne imaginam ca la inserarevarfulstiveiurca, iar la extragerevarfulcoboara.

More Related