Sunteți pe pagina 1din 2

Facultatea de Matematic i Informatic Algoritmi i Structuri de Date Laborator Anul I, semestrul I, an universitar 2012/2013 Grupe: 131, 132, 133,

, 141, 142, 143, 144 Web: http://laborator.wikispaces.com Tema sptmnii 5 31 octombrie 2012

Probleme obligatorii Termen de predare : Laboratorul din sptmna 6 (5 - 9 noiembrie 2012) (2 p) 1. S se implementeze o list liniar dublu nlnuit n care se vor reine numere ntregi. Scriei funcii pentru: a) Adugarea unui element la nceput; b) Adugarea unui element la sfrit; c) Adugarea unui element n interiorul listei; d) Afiarea elementelor listei n ordinea introducerii lor; e) Afiarea elementelor listei n ordine invers; f) tergerea unui element din list tiind numrul lui de ordine; g) tergerea unui element din list tiind valoarea lui. Probleme suplimentare Termen de predare : Laboratorul din sptmna 7 (12 - 16 noiembrie 2012) (2 p) 2. Se consider o structur de tip list liniar dublu nlnuit care reine n fiecare dintre nodurile sale cte un caracter. S se scrie o funcie care s verifice dac ntregul text coninut n list este un palindrom. (2 p) 3. Se numete DEQUE (de la Double Ended Queue) o structur liniar n care inserrile i tergerile se pot face la oricare din cele dou capete, dar n nici un alt loc din coad. Considernd structura DEQUE implementat cu ajutorul unei liste liniare cu dubl nlnuire, s se scrie procedurile de inserare i tergere la ambele capet e ale ei; s se utilizeze aceste proceduri ntr-un program care afiaz un meniu n vederea selectrii procedurii dorite din cele patru posibile. (2 p) 4. Coada cu prioriti este o coad n care elementele au, pe lng cheie i o prioritate. Vom presupune c cea mai nalt prioritate este 1, urmat de 2, i aa mai departe. Ordinea liniar este dat de regulile: - elementele cu aceeai prioritate sunt extrase (i procesate) n ordinea intrrii; - toate elementele cu prioritate i se afl naintea celor cu prioritate i+1 (i deci vor fi extrase naintea lor).

Extragerile se fac dintr-un singur capt. Ca s se poat aplica regulile de mai sus la extragere, inserarea unui nou element cu prioritate i se va face la sfritul listei ce conine toate elementele cu prioritate i. S se scrie procedurile de punere i scoatere a unui element ntr -o, respectiv, dintr-o coad cu prioriti reprezentat cu ajutorul unei liste simplu nlnuite. (2 p) 5. S se scrie procedurile de inserare, respectiv, tergere a unui nod cu o cheie dat ntr-o, respectiv, dintr-o list circular cu dubl nlnuire i nod marcaj. (2 p) 6. S se scrie procedurile de inserare i tergere nod ntr -o, respectiv, dintr-o list circular cu dubl nlnuire i nod marcaj, care implementeaz urmtoarea strategie: se insereaz la dreapta nodului marcaj i se terge de la stnga sa; cum se poate interpreta aceast modalitate de modificare a listei ?

O list, Start, cu nod marcaj, va conine n variabila Start adresa acestui nod, iar lista efectiv, n care n fiecare nod avem reprezentat un element al mulimii de date, va fi Start.next.
Start ...
F i g .2 .1 .1 . L i st c u n o d m a r c a j .

O list cu nod marcaj vid va conine doar nodul marcaj.


Start

Fig.2.1.2. List vid cu nod marcaj.

Probleme facultative
Termen de predare : Laboratorul din sptmna 7 (12 - 16 noiembrie 2012) Primul raspuns corect prin e-mail primeste punctele suplimentare indicate. (10 ps) 1. Fie w un sir de caractere. Spunem ca un subsir u al lui w este o margine (border) daca w incepe si se termina cu u, si in plus u este diferit de w. Exemple: (a) pentru w =aba, a este o margine; (b) pentru w =ababa avem marginile a, aba. Spunem ca cea mai lunga margine a lui w se numeste "marginea" lui w. Sa se gaseasca un algoritm liniar care determina marginea lui w.

S-ar putea să vă placă și