Documente Academic
Documente Profesional
Documente Cultură
Tema 5
4 noiembrie 2015
Probleme obligatorii
Termen de predare : Laboratorul din sptmna 7 (19 noiembrie 2015)
(2 p) 1. S se implementeze o list liniar dublu nlnuit alocat dinamic 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.
S se utilizeze aceste functii ntr-un program care afieaz un meniu n
vederea selectrii functiei dorite din cele sapte posibile.
(2 p) 2. 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.
Probleme suplimentare
Termen de predare : Laboratorul din sptmna 7 (19 noiembrie 2015)
(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 capete ale
ei; s se utilizeze aceste proceduri ntr-un program care afiaz un meniu n
vederea selectrii procedurii dorite din cele patru posibile.
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 ig .2 .1 .1 . L i st
c u
n o d
m a r c a j.
Probleme facultative
Termen de predare : Laboratorul din sptmna 6 (12 noiembrie 2015)
Primul raspuns corect prin e-mail sau prezentat la laborator 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.