Sunteți pe pagina 1din 11

STRUCTURI DE DATE

STIVE SI COZI

Piciu Camelia

Prezentare

Am ales aceasta tema deoarece este o tema cu multe notiuni constructive. Orice algoritm primeste date de intrare, le prelucreaza si obtine date de iesire. Pentru a veni in sprijinul programatorilor, limbaleje de programare evoluate (de exemlu C++, Pascal) pun la dispozitia acestora posibilitatea organizarii datelor in anumite sabloane numite tipuri de date. Cozile i stivele sunt structuri de date logice si omogene. Ele se pot implementa in mai multe moduri avand atat avantaje cat i dezavantaje. O stiv poate fi implementat ca o list liniar pentru operaiile de acces.

CUPRINSUL LUCRARII
1 Argument 2 Notiuni generale
3 Stive , Cozi

4 Moduri de implementare
5 Caracteristicile structurilor de date de tip stiv 6 Operaii de baz cu stive

7 Bibliografie back

Noiuni generale
Cozile i stivele sunt structuri de date logice (implementarea este fcut utiliznd alte structuri de date) i omogene (toate elementele sunt de acelai tip). Ambele structuri au dou operaii de baz: adugarea i extragerea unui element. n afara acestor operaii se pot implementa i alte operaii utile: test de structur vid, obinerea primului element fr extragerea acestuia. Diferena fundamental ntre cele dou structuri este disciplina de acces. Stiva folosete o disciplin de acces de tip LIFO (Last In First Out), iar coada o disciplin de tip FIFO (First In First Out).

Stiva
Stiva este un tip particular de list, pentru care att operatia de inserare a unui element n structur, ct i operatia de extragere a unui element se realizeaz la un singur capt, denumit vrful stivei. Exemplu: Ca s ne imaginm mai bine functionarea unei stive, s ne gndim cum lucrm cu un teanc de farfurii. Cnd dorim s punem o farfurie n teanc, o punem deasupra, cnd dorim s lum o farfurie din teanc, o lum tot pe cea de deasupra. Acest mod de functionare face ca ultimul element inserat n stiv s fie primul extras , stiva fiind definit i ca o structur de date care functioneaz dup principiul LIFO(Ultimul Intrat Primul Ieit).

Coada
Coada este un tip particular de list, pentru care operatia de inserare a unui element se realizeaz la un capt, n timp ce operatia de extragere a unui element se realizeaz la cellalt capt. Exemplu :Modul de functionare a unei cozi este foarte uor de intuit: toat lumea a stat la coad, mcar o dat. Orice situatie n care sunt mai multe cereri de acces la o resurs unic (de exemplu: o singur pomp de benzin i mai multe maini) necesit formarea unei linii de ateptare. Dac nu apar alte prioritti, cererile sunt satisfcute n ordinea sosirii. Coada este definit ca o structur de date care functioneaz dup principiul FIFO (First In First Out Primul Intrat Primul Ieit).

Moduri de implementare
Stivele i cozile pot fi implementate n mai multe moduri. Cele mai utilizate implementri sunt cele folosind masive i liste. Ambele abordri au avantaje i dezavantaje:

Avantaje
implementare simpl consum redus de memorie vitez mare pentru operaii

Dezavantaje
numrul de elemente este limitat risip de memorie n cazul n care dimensiunea alocat este mult mai mare dect numrul efectiv de elemente

Masive

Liste

numr oarecare de elemente consum mare de memorie pentru memorarea legturilor

Caracteristicile structurilor de date de tip stiv


Caracteristicile unei stive sunt puse n eviden prin comparaie cu structura de date de tip list. Se observ c stiva este o list invers. Totui, multe dintre tehnicile de rezolvare a problemelor vehiculeaz stive i nu liste, datorit disciplinei de gestionare a elementelor. Regulile de creare i accesare la nivel de stiv, prevd c fiecrui element care se adaug, i se aloc o zon de memorie i acest element devine vrf al stivei.

Operaii de baz cu stive


tergerea unei stive, se realizeaz prin parcurgerea integral a stivei, cu dealocarea fiecrui vrf. Adugarea unui element n stiv, se face de regul cu mutarea poziiei vrfului stivei pe componenta adugat.. Parcurgerea stivei, se efectueaz de la vrf ctre baz. Operaiile de inserare, de concatenare, de sortare a stivelor, nu difer mult de aceleai operaii din interiorul unei liste, dar frecvena lor de utilizare este mult mai redus.

BIBLIOGRAFIE

http://www.ionivan.ro/ANUL-UNIVERSITAR%202010-2011/ZZZZcartea%20structuri%20date/F00013000-stivecozi.pdf http://acs.ase.ro/Structuri/Suport/05_CoziStive.pdf http://www.fituica.com/copiute_fituici/Informatica/3920/Liste_liniare_Stive_Co zi_Arbori_Arbori_binari.html

SFARSIT