Documente Academic
Documente Profesional
Documente Cultură
138
cs
Capitolul tl
Teste grild
Ibstul lr,Tabloul e6teo structud de date tu cale timpul de accesaxe a uDui
yl. funclie de djstaDia eleDettului fald de marginile tabloului 2. func[ie de dimeneiuDee elerDentuluide tablou 3. fuDctie de valorile elementelor tabloului .4. {r:elagi pentru orice eleDreotal tabloului uD elemed al unei liFr. -*n* 6a sdresa (poiDter 6au *o;"+slri"lf zt_ f ie
.r:.* element al uneitist, *.::,:l-,rj si&plurnreDtuite ruftdrur deordiDe dat priE rn r*rr. ""j*iare ".r.",i"""" I parcurgorea lirtei p0ndlBolementul ceunoeazd elemetrtului decoD6ul_
tJ 0
140
141
2. Spunemcd / O(g) qt Dotd.n/ = O(9) dacd Vc R qi lno R a.l.Vn> no + f(n) < c. g(n) Spunenrcd J O(9) qi notaJo/ = O(g) d*E 1c lR qi Vrlo R e'1.Yn > ra =+!(n) < c. g(n\
4. gpunemcd / O(9) qi rctd.m/ : O(g) dacdlc lR qi lo0 R
a/ Ibstul 4: Fie L o listl liniaxd simplu lnldrluitd sloc.td dinanic qi p un pointer ce contrineadlesa unui element al listei. Secveotauqndtoa,re:
8'
j- r'
2 . detaareadio lista L a elomentului ce ulEeaztr celui indicat de pointeml 3. iNeraxea in lista L a unui element dupl cel adresat de poitrterul p 4. iDserarceltr li6ta L a unui elemeDtln fata,celui adlesat de pointerul p
Testul 5r Fie o li6td li arl6implu fDltuluitd alocatd dinornic unde pointerul L cotrtitre adredsprimului eleme din li6td isr poitterul x contile adresaunui elemed ce umeazd a,fi iDserat ln lista L. Secventaumdtosre succ(!) -L;
L+r; poate fi utilizatd peDtru:
.Testul 7: Fie o listl simph ldentruitd alocstd dinarnicunde pointerul L primului element contile adresa ditr listtr, iar poirterul r conlinesdleBs ur[i elementoarccaxe din L. Secverlaurmdtoare y+get_spO ; data(y)*a; succ(y)-succ(r) ; Eucc(r) -Y; poatefi utilizoti petrtrui f. iDse4iautrui nod ln fals listei 2. iDser\is uDuitrod ln intedorul listei 3. ttergere, diD tstd a primului nod 4. qtrgerea ditr listd s ultimului nod Thstul E: Fie o listd liniald simplulnldnluit| alocatdditramicundepointerul primului eletned diDli8ttriar poirterul x cortine adree L cotrtineadreEa unul elemetrt diD interiorul listei L. Sec!nlsurtDdtosrei ) ; Y*.ucc(x) succ(x)*succ(Y) ' fr_6p(y) ; .I poatefi utilirati pentru: 1. imerlia ln listd s nodului sdresatde poiaterul y de poirterii r 2, iDserlialn listd N nodurilor adroEste y
' i. ',-:
2. iDsertia utrui nod tn fats pdmului element al listei 3. inse4ia unui nod ls mijlocul listei 4. i$e4ia unui aod dupi ultimul elemed &l listei ' lteetul 6, Fie /: llHN ' defiirilii este corcctd? ti 9: NF,N dou[ func{ii. Ca,rediD umritorrrdr O(9) dact 3c R ti :ho r tra
t42
CAPITOLUL11. TESTECHILA
143 r b dacd, acesl 2. insertiaunui nod de laloare a dupl primul trod de valoare existdsau in fata ultimului lemental lhtei in caz contmx 3. inse{ia uuui nod de loarc b ln fata primului nod de laloare a dacir acesta existl sau in fata ultimului elemeDtal listei in caz coBtrar . acesi.ll b dupd ultimul nod de valoarea dacd 4. inser(iaunui nod de valoarc existd sau dupd ultimul elemental liEteiln caz contrar Testul llr Fie functia F(L,a) // L = liBta (poiDt6r la priloul 1nDt) // a - ya.loare de atolo din li8ta L p+get_spO; IF(L=o) THEN roar ("ltonul nu se aJla ia lista') IF(data(L)=a) fiEtr P*L; L*succ(L) ; fr_sp(p); // eliberar spaliu alocat pdBtru // atonul adraat d pointru1 p ELSE q*L; vfiILE (Eucc(q) o0) ard (data (succ(q) ) oa) D0 q-6ucc(q); EIID-IIHILE IF succ(q=o) THEI eroare(rrs-a aju+3 la sfargitul listi gi atoDul tru a fost gdait") ELSE p*succ(q); succ (q) tsBucc(P) ; frs-8p(p); ETD-IF EI{D-IF NTD-IF END F cx{{:uliei lui I'onlc: lifnr:l.rrl
" .{l_ -"
4. Etergerea din listd a noduriloradresate de pointeriix li y pot fi: Testul 9: Stivele 1. liniare,circulale 2. ordorate, lDldrluite 3. circularc dublulnldntuite 4. nici una din rariaotele anterioare
Testul 10: Fie funclia: F( L, a, b) //L = U.Eta (pointer 1a priDul IeDDt) // a,b = valori d cotrliaut pntru atoDi ditr lista L d iDltnluire a atoDului /l ar,cc$) = ilfollalia &teaat do poirterul p (coDlino adtosa atonului urDetor l/ atonului adrBat d6 p) // p-get-spo; // poiaterul p va co!!i!6 aalresa d /l nenorie alocatd atoDului data(p) -a; IF (L=o) or (data(L)-b) Tf,EI succ(p) eL; L*P; q . L; mIILE ( (8ucc(q)oo) a.nd (data(rucc (q) ) <>b)) D0 q*succ(q) EIID-I{IIILE su cc( p ) -succ(q); 6ucc(q) *p; E[D-IF END-F Efectul et@cutieilui F este : 1. iaserlia uDui nod de valoarea h fsia primului n(xt dc vrlrrre b ,|tr, ' acestaexistd,, Baudupd ultimul elements,l lirit,ei ir' ('lv (xrt|trlrr
).44
145
1. Stergerea din li6td a nodului diD fata pritdului nod de valoarea daciL acestaexistdsau parcurgerea listei in caz contrar 2.lqtergerea din list6 a primului nod de valoa,re a da.i acestaexistd sarl parcurgerea listei in caz contrar 3. qtergerca din listl a nodului din fata ultimului trod de valoarea dar;r acestaexist56au parcurgerea listei in caz contrar 4. lteryerea diD listtr a nodului aflat dupd ultimul nod de va.loare a daoL acesta existd sau parcurge$a listei in caz contrar Testul 12: Sti poate fi implemeDtatd ca o listd,iD carei
F\rnctia: ordonatd. Tbstul 14r Fie S o stivd, F(s,a) THEII IF S.varf > DIUMI-X roare('rStiva PIin{() ELSE S.verf-s.varf+1 s.vect[S.vrf] -a ETD.IF END_F operalia: implementaz6 1, POP 2. TOP^ 3, PUSH 4. PUT F\nctia: Tbstul 15: Fie S o stivdordotratd.
i F(S) IF S.varf-o THEI eroare ("Stiva vida'r) varf-1 S.verf -S. EIIDIF END_F , irnplementeazdoperalia: I. POP 2. TOP 3. PUSH 4. cltT
l operatiilede in6e4ie,qtergerc qi consultare surlt edmisela capete / 2. operatiile de insera.re, ltergere Di consultare6unt admise doar la irl ceputul listei 3. operaiia de insertieqi consultore esteadmisdln faia listei, iar {tergeftil la sfaxqitul listei 4. opemtia de iDseltieEiqtergere 6teadmisl in faia listei, iar consultar,r, la Bfarqitullistei Testul 13: Coadapoate fi implementatdca o listd in care: 1 operatiilede iltseltie,ttergerc$i coDsultane sunt r6trictionate lacat),,t,, '2. operatia de la sfar[itul li6tei, iar jrl ltergere qi consultarcestea.dmisd 6e4ia la lnceputul listei 3. operaiia de coD6ultaxe steefectuatala sfe$itul listei, iar inserarorr 4r gergerea ls lnceputul lirtei 4. operatia de insertie este efectuatd la sf0$itul listei, iar qtcrgor{,rtl consultarea ls lnceputul liBtei
1l(i
r4f II(s)
IF S=0 TIEI !oar9(rrStiva vid{")
F(s)
IF S.verf=o TltEf, roar("Stiva vida") ELSE !tuiD(S.vect [S,vgrf] ) EIID-IF END-F implementeazl operstie: 1. POP 2. TOP 3. ISEMPTY 4. PUSH Testul 17: Fie S o stivd bldDtuitd !i F,G,H implemeddri ale celor trr,i openlii de bazd(PUSH, POP,TOP):
P- s;
S+succ(S) fr_3p(p) E[D-IT END H
q ' '--
Furciiile F,C,H implementeazd redpctiv operotiile: 1. POP,TOB PUSH 2. TOP, PUSH,POP 3. PUSH,TOP, POP 4. PUSH,POBTOP Tbstul 18r Fie Q o coadd ordonat5, liDisxd. , F( Q)
IF Q.had=Q.tail TflEI sror.r ( "Coada vidi',) Q.hadeq.bead+l lstu!.n Q.voct [Q,hed'1] ; EIID-IF
F(s,a)
p-gt_Bpo detr(p)-a .ucc(p)+S
,. /1
s*p
END-F
END_F c(Q,a)
IF Q.tail > DI lllx TIIEII 6roar ("Coada p1id") ELSE Q.vct [Q.tai1] *a Q te1ltsQ.t.i1+1
c(s)
IF S=0 T[Etr oroat.(',Stiva vid!',) retun (data( S)) EilD-IF END G
q[1
CAPITOLUL 11. TESTE GRILA 4. FRONT,PUT lt3tul 20! Datd 6i!d Q o coad[ lBldnluitd liniad !i functriile: F(Q,a) IF Q.hed-OTfiEI oroare('coada vidl') ELSE atsdata (Q. head) peQ.had Q.bead*succ(Q.head) f!6_sp(p) rturtr(a) EIID-IF END-F G(Q'e) p;get_apO; data(p)*a; succ(P)-0; IF Q.head=oTtrEf Q.headeP Q.tail*P rucc(Q.tait) *p Q.tail*P EID-IF l',SEtl - (
140
Testul 19r Fie Q o coadi ordotrf,td circulari. NexPoe(index) IF (indx < DITVECToR-1) llEX retur! indr+1; ELSE rturn 0; EIID-IF end NexPos lre Iunc![le:
r,frn
?rfT
F(a)
IF Q.head-Q.tai1 TBEI eroa! ( "Coad. vldtr") ELSE a-Q.vect [Q.head] Q.had+IsrPos (Q.had) !turn(a) EXD-IF END-F
c(Q,a)
(Q,tail) IF Q.hgad=f,ertPos pliDI") 610a!6(ICoada Q,vest[Q.tail] *a Q.tailXxPos (Q.tail)
END G
H(a)
IF Q.ho.d=o TUEI roare(ICoadavid{o) rturB data(q.bad) ETD-IF
avqr(
EI'D-IF END-G F\nctiile F gi G implemetrteaztr lespectivoperaliile; 1. PUT, GET 2. CET, PUT 3. PUT, FRONT
END-H Strsmarcheze carc spulr stocoEct - F, G d H irDplotnontosrlr+ spectiv opratiilel I. PUT,GET,FRONT 2, CET, PUT,FRI)NT
150
l5l
3. PUT, FRONT,CET 4, FRONT,GET, PUT Tlestul 21: DatI fiind Q o coadl ltrldnluitd liniad ti furctis urmdtoare:
PUr(Q,a)
p-gst_6pO; data(P) +a; succ(p)-0; IF Q.head=oTIEX Q.head*P i). \o$ ..
6ucc (Q. teil) -p Q.taiL*P D-IF
+-q
1. PeramuraTHEN 2. PeremuraELSE 3. lnaintede IF 4. Nu lipstte nimic Testul 22: Fie dstd Q o cosddlnldntuitd liniad {i tunclia urmdtoaxe: PUT(Q,a) p-get_spO ; d a t . ( p ) - a;8 u cc(p )e 0 ; T[Ef IF Q.b6ad=0 Q'head*P Q.tatl*P ELSE luac(q.t.l1)-P 4o ,tori'-l- f ', EIID-IF END PUT
Si ae indice locul urde lipqteceva peDtlu cs funcli& PUTsl functLiohon corect ln orice situatio:
'Thstul 23: Datd fiind Q o coadd bllDtuitd linisxl ti futr4i8 ulmd,to&Iel GET(Q) IF Q.head= O TAEI !oa!6("Coads vldtr") ELSE a*data(Q.boad) Q.h6ad*6ucc (Q.hed) free_Bp(p) roturtr(a) EfD-IF END-GET Bdfunctiort . Str se itrdic locul uDdelipGqtecevapentru ca fututia GET corectlD orice situalie: l. Pe Ismura THEN 2. Pe ra.rnurs ELSE 3. inaiate de IF 4. Nu li!6egte dmic Tbstul 2a: Dsttr fiiDd Q o coodd iDl6Dtuitd circulaxd li funcli& urmltorro:
PUT(Q,a) p-get_rpo
data(P)ea IF q=9 1gt
u.""';i;iif iiuA"'"
tl*p
153 4. Nu lipsegenimic
Testul 26r O li.st| generalizstd poote f defnittr itr C++ s6tfell typdf cbar AtoD; Dun { lTof, LISIA}; .truct GEIsDort; // declarati ri[Ptl typ6d6f CEleinent* CLi.rt:, l/ o 1lstl gneralizatl 68tE // poiitr la pridul 16!3nt struct GEIeDeat{ cbar tag; // ticheta urion t // detl poat fi Itoa L, // AtoD GLisLa Lt // rau Gli6ta data; ) GElobont* linL; // lg{tDra ]; Functia atlgato sr trebui sd afEezeo li6td genenlizatd L. void afllate (Glista L)
END_PUT cel,apentru ca fuactia PtT s[ funclioneze Strse iadicelocul undelipseste corectla orice cituatie: THEN L Pe ramura ELSE 2. Pe ramura 3. iaainte de IF 4. Nu lipseqte nimic Tstul 25r D8tI fiiDd Q o cosddl dotuitd circuls$ qi funclia urttrStoare: GET(Q) IF Q=0 TEI roa!(rrCoada vidl'r) ELSE (q) ]TEf, IF Q=Fucc a-data(Q) tree_ep(Q) Q*0
!tlrrtr (a) gucc(Q)*oucc(p) a*data(p) f!_6p(p) !tu!!(a) E,TD-IF EIID-IF END-GET Sd se irdic locul unde lip6tecev&peDtru ca fuDctia CEf sd fuDcliorr', corcct i! olice 6ituatie:
I.
t
cElerontf pi l/ liai.a, 1 p=L; /l ]i!ja 2 flEIrE(pt={ULL){ // Ticis 3 IF (P->tag=-A10IL Fitrtf ('ttc'r ,p->data.l) ;
ELSEsfisar. (p->4Ata. L) ; ) p = l->Iial i
ll rLnia 4 // ltnta 6
// 1l!Ia 6
/l 7 r
a7
l
Unde eote eroarea?
l. tn lrnrt it
154
155 3. a)lr e V (nodul lddscind) a.r. Vj V,(j,r) d E b )V c e V \ { r } , 3 y e Y u D i c a . i . (g,r) E' y , I c )l t d r u m r : ( x n . l , | , x 2 , . . . , a n :y ) c u , i y $ i l x i , r . t t ) | I ; 4. Nici una ditrtre definiiii nu 6tecorecr5 urmltorul arbole T -Thstul 29: Dat fiind A -
-,'-l BC D \
,,t | | /l\
r. A(((8,C, D),E, F, c, r, J), (K,L),M) 2. A( B (E (K,L), F), c (c), D (H (M),r, J)) 3. A(8, c, D), (E (K, L), F, c, H (M),r, J)
4. Nu esteIlici una ditr celea.nterioare! Tbstul 30. Dat fiind ulmdtorularbore T A BC D
,--l \
GH I
KLM
."|
,.,'t | /t\ F
I
Careestegradulartx)relui? t.2
2. 4
CAPITOLUL 11. TESTE GRILA 3.3 4. 1 Te8tul 31: Caredfu definitiile urmdtoeree6tecorectd? 1. Senumqte arborc binaxstrict $borele pentru crre V, Doddin y sd
6\eA degree(r) : 1 serudegfee(s) :2
2, Se sumete axbo& bitrNr strict arbolele peDtru csre oticsre ar ff un nod o din y sd svem degree(t) : g , eal6dcgtee(a) : I 3. Se numeqtesrbore binar rtdct arborele pentru csre odcare ar fi un Dod i dir\ V sd sven d,egree(a\: 0 , sat &g1ss(s) = 2 4. Nici una din definitiile sntedos,reBu edtecorectd Testul 32: Urmdtorul arbore ? : a., bc 'e d' /\ /\ /\ /\ hijklm n o e6te: f' /\ / \ '8 /\ / \
implicitd a unui arborn Tbstul 34: Fie y un tablou ceco[iirc reprezentarea binar ?: t2345678I10
CsIe este tatil lui g?
11 12
I "rl
t4
Y"
2.d 3.f 4.b Teetul 95: Caredin urmltosrele afrrmatii estecorectd:
cu 2-l 2, Numdrul mstdm de loduri de pe aivelul i el uDui arboE binar esto ogd c1r2i
1. binar stict, dax Du complet 2. binat complet ibinar de c6utare AVL echilibrat . 3. 4. binar de cdutare echilibrat
3. Numdrul ma:dm de rcduri de pe nirelul i al ubui arbore biDar 6te 68al cu ?+1
E h I 7 6 910
iD
tl
ll 12 13 t4 th
l;l
4. Nici uDs ditr cele anttrio8re Tbstul 30! Csre din urmltoorelo sfrmatii 6te coroctlr 1. Num&ll maxim dr nodurl rlo ulul rrborc blrll egrl cu 2^-l dr rdbclm. h itr
158 '
159
X" Numarulmaximde noduriale unui arborebinaxde adencime h edte egal cu 2'- 1 3. Numdrulmaximde noduriale unui arborebinar de adencime h 6te egalcu z4. Nici unadin celeaEterioare
binar.DacdDotdrn: I Testul 37r Fie ? un arbore I n2 : num5rulde noduri de grad 2 din arborelebinar ?; nr : numd.rul de noduri de grad I din sxborele binar 7; : aumdrul de noduri terminale (frunze) dil a.rborele binar ?; tu Care din urmltoarele afirmatii stecorcctel + 1' ,t no: n'z 2 . n 2 : n o1 1 . 3 . n 1 : n "1 1 4 . n 2 : n o + n r+1 . Testul 38: Prelucra,rca ln ordinea: DIN STANGARADTCINII .,, SUBARBOR.ELE RADACINA SUBARBORELE DIN DREAPTARADACINII sereferl la: l. taversarea lo preordinea utrui arborebinar a unuierbore binar ATlaversarea in inordine
SUBARBORELEDIN STANGA RADACINII SUBARBORELEDIN DR.EAPTAR.IDACINII RADACINA sereferi la: iD preordinea unui arborebinax 1. TraveEarea in inordine a uoui arborebinar 2. Tlaversarea podtordile a unui arborebinar A Tlaverssrcoin in ldlim a grajurilor 4. Parcurgerea binar de cf,utareesteun arboreT ale cdrui nodttri Tbstul 41: Un a.rbore dat lntr-un dictiolllu i cu &tomiicotrlinulila ulr mometrt sunt etichetate c V,'l',\:t) Considertnd 'l -- (V,E)'lVl: n (n atomitu diclionor). : dntpl q\ Ta@) svbarborele x cn rdddcita tL arbotde stdtug subarborele 'tl (l]S'l') c[ut8re de de arborebina.r Btructura arborele at rtddcinaa, s,tuDci poatedfitrittrastfell cheie(data(fiu-stanga(r))); 'l$.'{i)Vo T : cheie(data(x))> < cheie(data(fiu-dreapta(r))); b) Ve ?: cheie(data(x)) sunt arboribinaride cfutare ..c)4(r) sr I\.\ "d(r)
t\;
Y=/
li
Testul 39: Plelucrerealtr ordines: RiDAcINA SUBARBORELE DIN STANGARADACINII SUBARBORELE DIN DREAPTAR,{DACINII se referi, la:
:2.)il vr e'r"\r): cheie(data(x)) cheie(data(r)): " b) Vxrc Tr{r) : cheie(data(x))> cheieldala(r)): ,, ,/N c) 4(r) {i ?d(r) srbod bitrari de cdutare'
160
l6l
efect:
E e*F
::{ e-/- b
ecvenlializarea multimii nodudlor in ordineacre6cd,toa.r a cheilor muliimii nodudlor in ordineade6cretcdtoaxe 2. Secveatializarea a cheilor. multrimiinodurilor fdd a seobtine o anumitil ordina 3. Secwnlializarea cheilor. Testul 43: Fie arborii:
,
Eu;E
IF ky(data(lldecinl) ) < k Tf,Ex// al treilea IF (filr-drapta (raddciE{)) " rturn cIItTAttE-IoD j'-!-l-.,-,-\ , ; ErD-rF E LS: {, 'G..L;.,
15 25 13
EI{D-IF EIID-IF EI{D a futrcliei CAUTARE-NOD asigurt CaIe ditr 1riantele de completaxe corecth? functionarea
25
17 40
/\
10 217
;f,I. i ainte de final (END) ar trebui plasata. iDstrucliunes !.tutn redaci.tra dar ar trebui 6[ exinl,c {i 1@ramura ELSE a celui de-al treileaIF lipseqte, sd cotrtin{, returD !trdacitra da! ar trebui sd existo[i 3. ramura ELSE a celui de-d treileaIF lipdeqte, sd coniitrd imtruciiunea ieturD 0 Tbstul 45. Fie arborclebioar de cdutare: 15 T: ) ,/\
/t\
Tesiul 44: Functia cd,uta,re-Dod operatis rL, ar trebui 6f, implementeze cdutarea utrui nod de cheiek lntr-ua arborebinsi de c!.utare,dar,.. lip8ctl. cevo cs.resI asiglre funclionarea corectf, h orice iituolie?
Obs:valorilede nod ln arboreleT sunt egolecu cheilcnodrlrik)r(||rlxrrnk' T estedet prin cheilenorlurilor). tn tirltorcle'l' trn(lnv|| ll lt t'rrl7 l9 nrnrosrf,lrtiInB6t^l Nodulde cheie
162
CAPITOLUL 11. TESTE GEILA \ Tbstul 48: Ad0ncimea unui arbore binsr de cdutare AVLechilibrat noduri este:
le3
cn n
L,}'
/RlO{Lor. n ) 2 . O( n )
A 3. O(nlnn) 4. O(nlogn)
SterSrearMdaitrii unui arbore binar de cdutare BST iruplicd Z-/TeBtnl46: uneori aducerca ln locul ei a nodului din subarborele steDg, cu ceo mai mare cheie ln ece6t arbore. Un arbore binar de c5utaxe poste avea un& din struc_ turile urm5toare: 1. Iddtr ine subarborele stang
Testul 49: Fie x un nod ce urrueazda fi inserat itrtr-ua axborebinsr rft. cnutarc Avl-echilibmt. Caxedin celedouS6ituatii implice o rotatie sifill)l|| la dreapta:
BT 3 TI
T 3B T2 T1
@
3.
rdddaina
I l(D
T2
(it
@'r
2 .iD
3. i) $i ii) 4. nici unadin celedoudsituatii
subarborele drept Caxe din cele trei situalii aecesitd openlia de muta,re a nodului cu cea mai mare cheie dintre cheile nodudlor di.n arborcle sHrg? Tlestul 47: Un arbore bitrar este AvLechilibrat dacl gi Dumai dacd, pen tru fiecare nod din arborc, diferenla dintre adtncimile SAS qi SAD (SAS subarborcle stang, SAD :subarborele drept) itr modul este:
d a fi inoerat lntr-un erborc l,in$ (l{, II Tbstul 50: Fie o urr nod ce urmeaz clutaxe AVL echilibrat. Caredin celedouSBituatii implicd o rot[(ic rlublI
'ly-'
e,n,,
2 .:0 3 .:1 4 . >1
BT 3 TI T2
T 3B T2 T1
I
l,u
(ii)
164
l8l
1.t
2. ii) 3. i) ei ii) 4. ci utraditr celedouasituslii
Tbstul 51! Fie r utr nod ce urmeszds I iBserattBtr-utr a.fborebitraxde cduiare AVL echilibrat. Care din celedoud situstii implic! o rctalie dublS
la 6tgDgs:
lecuteh ctzul uDeirotatii sil plc Ilestul 53: Operaliilecare'tiebuie dresptaintr-uD arboreblDa. de c{utere AVL echilibrst 6unt urmf,toarokti
&b'
T3 /LB T2 T1
(ii)
x
,r*' ^
&55
-_r.niu<,t
lchild(r) rcbitd(p) !*p *rcbild(p) -r
2. p
r.r, 2. ii)
3. i) ri ii)
-'rcbild(r, t,2,3
,4 .TEgtnl 62r Fie o utr nod ce urrnea,zi a ff i[srat lntr-un arborc binar de rotaliedubld " ctrutare AVI. qhilibrat. Csre diD cele,dj ls dr6*pta:
A
64: Operatiile crrc trebuie l6cute ln carul utei rot&tiidubl. I AvLechilibrat sunt urmltorltlcl Itrtr-utr arborebiDsr de ctruta.re
1. LchiLd(r) -rchild(q) P *rcDrrq(r,, rchild(p) -lchild(q) q *rchild(p) rchlld(q) lcbltd(q) t *j -r rICIclB |rboralul
BT 3 .T 1 I
\
T2
l( D
.,1
-P // .. rcbhbl
l(i7 Testul 56: Problemaconsendrii pmpdethtii de AvLedrilibrare a uuui rrr bore binar de cdutare dupd o opemqiede itrserare a unui nod se rezolvA.: plicand o rotatie asupra nodului critic numai atunci cdnd itrscrtrr,,r acesInod dezechilibreaz6, 2. aplicard o rotatie asupranodului critic inseraroi! redd.cinii arbcrelui atunci ca.nd aplicando rotatie a.supra l)r,, -3. ' .hrcerm dezechilibru in arbore antedor 4. Nici o variantddin celeprezentate Testul 57; Se nume$teaxboreheap un arborc binar ? . (V, /',) trrt ttttttlt loareleproprietAti: fiecdruiDod o ch(i'|; 1 a)Exi6td furctia cfteie: y + lR caxeasociaze b)Vu y cu di:gree(u)> 0 (nu estenod terminal): lliu Jlanqu\)i the,.e(u)> cheie(fi.u- anga(u)),dacd. Sldu dreapta(u). che'ie(u)< chez/ J iu _dlea4n(u)\, dw:,b, fieclrui nod o ch0ir'; 2. a)Existd functia ci,ede:y + R caie asociazd b)Pentru fiecarenod din arbore,cheianodului 2 cheile6ilor. fiecbruino(l r) 0lxric; 3. a)Exist6 functia cileie: y + R care asociazd 1!l hrr b)Daci r y estd Dodul rdddcindatunci Vu y de$cor(l(!ul. .+ r cheie(r) | cheie(u). Care defitritie este corecttr?
3. p q
-rcbild(r) -rchild(p)
elchild(q) -i arborotui
TeEtut 55: intr-un arbore de ctutare AvLechilibrat ? : (y, ,) , se numeqte balantra (factorul de dezechiliblare) nodului r diferenia dirtre adAncimealui lf,(a) E 7:a@)unde l(a) : subarborcle steng i! arborelecu dddcina j, iar T6(r) : eubarborele drcpt ln arborele cu rdddcila c. Fie y un nod ce urmeazd a fi insrat iD arborele ? ca fiu al nodului z. Se Dumqte nod c tilr relstiv ls nodul i/:
,+f$r {lfrimul.nod
cu balanla I 0 intelnitla
l. 1
3. primul Dod cu bsla,trta: 0 lnt6lnit la o parcurtere de su6 iD jo6 a Emurii careleagdrfidcina de aodul z 4. primul nod cu balants: 0 lntelnit ls o Parcurgere de joB ln B|lr n mmurii careIesgtr nodulz de rdddciDf,
3.3 1. lsi 3
168
t,
169
impliciti dupe binarcu reprezentarea Tbstul 58: Fie T = (V,E) un arbore cum urmeaztr: 7 30 37 32 2 10 50 40
Indici: I 2 3 4
10 1l
,/ ?l Nu
3. Nu existd notiuneade arbore heap impliciia: Fie T - {y. E} un arborPheap dat priD reprezeDtarea AtFeful69: 'ff V lui N dimensiunca implicitd, iar cale contine reprszcntarea "qtor:ul /. Valoa.reade nod este chiar cheia aaestuia. Algoitmul de inserare a unui nod de cheie a ln heap este urmdtorul: a. 1) V[I+1] *a; I +N + 1; palinte ; f iu -pa!tea-intreaga([/2) -lt; 2) 8e coDpare Vlfiul cu vlParintl; ae fac itrtsrschiDba! dacd Vlfiu] > V[Parilt]; iu/2) ; palilrt 3) f iu -Parta-itrtreaga(f -patitrte ; 4) S roiau pagii 2)-3) Pan{ cetrd uu 6 Dai. fac itrterachidbara 8au fiu = 1 b. 1) V[I+l] +a; ll ell + 1; ; fiu eI; pariDt epartea-itrtleata(I/2) 2) 8 coDpare v[fiu] cu v lParint] ae fac6 irtrechi[bar dacd VEiu] < V lparinte] ; 3) fit +pari[t; Paliltt ePaltoa-intleaga(fiu/2) 4) se tiau Pagii 2)-3) paDd cand nu s llai face iotol6cbiDbar6a sau fiu = 1 c, 1) VtX+11*a; I +x + 1; Parint e1; fiu +2; 2) se coDparl v[fiu] cu V[Parint]; s fac iEtelachitiber dacd Vtfiul < Vlparinto];
iTbstul 60: Fie T - (V, E) uo arbore heap incomplet eventualdoar prt de Dod este chiar cheiaace6tuia.Curc rHlo -' ultimul nivel 6i in care valoarea din heap-ulT s elenentultti cu variantacorectdpetrtru openlia de gtergere raloarea cea 6ar mare? 1. o Se elimini dir arboreultimul nod de pe nivelul ilcon4tlel;
o Se reorga.nizeazl rlin slrll.ln|.l| structuta arborelui: 6e dta.qeazil arborelui rdrldcina,se inter6chimb[nodul deta{at cu ultitlrul ,rrrl de pe nivelul incompletqi apoi raloarearfddcinii e8torclrr){trulslit pa,ndcand structura heap-ului este realizatd,. 2.
. Se elimiDddin a.rbore ultimul nod de pe nivelul incoxrplol.; . Se reorgadzeszd, structura srborelui: se deta{elrzll(lirr Bl,rrlfll.llr arboreluirdddcina,se aducerdddcinepe p(,zitilrno{lului |lllrtrltrrl &ntenof. . Se elimind diu srbor r&llrcir,r r(]o8tuilli
3.
170
CAPITOLUL 11. TES'nE GR]LA Se reorgaDi?eMd6tructu4 brborelui: se detaaztrdi! structula arborelui ultimul nod de pe alvelul incomplt, se aduce nodul detaatlD trodul-rad6ciDtr Ei apoi ialoareaerestuisesteretrogradate pend cgad structum heapului eBtereslizatl Lc 2. a 3. b 4. bqic 5. aqi b 6. aqi c
/. a, o0lc
5 . 1 q i3 6 .2q i3 7 . 1 ,28 i3 8. trici uDadin r".riantele1,2,3 .. Testul 6L Care edtecomplexitatea timp a operaliilor de inserare qi qtergere -l diatr-un arbore heep? 1. O(n * logn) 2. O(n)
8. nici una
Testul 63: Caxeditr urmd,toalele defnilii sunt corecte: a. Un graf,G se nuniegteconexdar:d,Vx,y /, JP drum lntre .r gl 7, b. U digaf D se lufire4'tretare coner dalcElx,U e V , pentru or,rc 1 drum de la r la V qi PCdrum de la.q la a. c. Un graf G este completdaadfre{arcnod este conectatcu orir:rro r celelalte nodud: E : &(y)\{ {,i,i} | i v }. l a,bqic 2. a6ic 3. bEic 4. a8i b 5. nici una T$tul 64: Caxedin urmdtoarele definitii sunt corectel a. Se numeqte fr-regdat 9rol Srafulpentru cateVr,t Virurt(i) b. Un graf e6te bipartit dac5, multinea y V J V, qi V (tvr vi, j e E =+ i Ll qi J % sau j V ai i. t. V,. .Ja/cE c. Un gaf e6tebipartit conrylet qi V?c yr {i Y/ 6te bip&r{,it l. o i c
$.Pcu'a
4.0(1) Tetul 62, Careditr urmdtoaieledefinitil suDtcorecte? a. Un digraf 6teuu obiect D : (% E) uode y esteo multime finitrr y se numeqte (lyl : n), iar E e v xv (lsl = multimearerturilor -) (uodurilor), iar -Emullimea arcelor, b; Fie D : (% E) ur dierafqi un arc (i,j) e E. Sespune cd arcul(i,.,) j, j estea.diaaent cu i !i iar i Si 6unt incidente. c. Senum9te d| drum de la c ls y lntr-un digraLl) , (V,E) secvenl,a n o d u r P: i ( \:x,i r,...,i " =y) u n d e sau( d*,dr r r ) tssu ( dr r r ,ir ) ,i.
I
Ul
172 2 . aq ib 3 . a ,bq ic 4 . bq ic
t7
Orr.r 0 estepoilterul NULL. Gradul interior 6l digrafului I) este: 1. 0 2. 1 3.2 4.3 5.5
Tbstul 66r Careditr umdtoarele defiDiiii suDtcorccte: a. Un graf d seoume6lecone, da4dva,y e 14f P dlum lntre r qi y. b. Senumegte sulgrol al gafului d : (V,E), w gr^f H : (V, EHt,s.i. c. Se Dumeqte sufuf d G : (V, E), in&rc de V' e V, graful It = (7', E') undeE : Pz(V'ln E. 1.a 2.c 3.b 4. agic 5. aqib 6. bqic 7. a,bqic 8. lici una prin li8telede sdiacentl Testul 66: F\e D : (V, E) un diga,f reprezeDtat ufmatoare:
prin listelede nrliru Tbstul 67: Fie l:t -' (V,D) un diSrafreprezentat '.r urmdtoaxe:
2.2 3. I
).74 4 ,O
1?6
/o o I I o\ l 0000ol ,4 : I t 0 0 r I I l rototl \o o r t o/
Graful C e6teconod
o unui ga.f
loorool ,4: I o o o 1 o I
l0000rl \ 1 o o o o/
,4: I o I o d o I
f r o : o rl
/o r o I o\
I r o r o yl
po&tereprezenta qigrairl C oeoriedt&t Matfcea 24 obtiaut prin eliminarea oriertfii arcelorlui D? 1. Ds 2. Nu, pentruc{,4 au estetiutrghiulad 3. Nu, pentrucd / nu ete simetricE, fail de primadiagonslI(\)
\o I o o o/
siltomstlcf, I t(plorsrea dia afgod;n urmdtori rcalizesztr lbgtul 2: Ca,re unui grof G : (( E): i a.proceggaztr
s*s\{J}
EISE
117
2.b 3.c 4. a, b,c lrl sistematicf, e)(plolare8 Tbstut 73: Careditr fuDctiileurmitosre realizeozd = adetuimea urui Stsf C (V, E) ? a. F( L,i ) procerrre(i); s[i ] *L - 1:
[i] ; P THILE(p*0)D0 IF ( s[data(P)] - 0) Tml F(L,data(p)); EXD-IF P -succ(P); ETD-9gILE ETD-F
s,_s,u{,t}
s.:s\{i}
EISE
rF ( kEs) lrEx
procoroazl k adau8l k la S
EXD-IF Ef,D-IF E D-MILE c. ProcEazl i s ts{i }; s'+{i};
s,-s, u{,t}
(s,l 0) Do sBrr.E
aleg j diD g' fi {j,k} unl.toara rucbio D6utilizattr IF ( Duchia {j,L} nu orirtl) THEI iBcidont{ cr j
s,F s ,\{J }
170
sli l *1:
FoR t = 1..8 D0
t1
rF(sftl =o)r{E x
procerarc(k) ; stll -1; PUI(q,D; EfD-IF
p e6ucc( p) ;
, t sr ;
!..!
;.I
s l i l *1 ;
F oRt, = 1 . . D D 0 - s rF ( A(i, k) = 1r),IHEI IFstkl=0TxEx E(^,k); Ef,D-IF ETD-IF ETD-FOR ETD-II 1. a 2. b 3.c 4 . aS i c 5 . aq i b 6 . bg i c 7. e,bqic
Care dh futrctiile urmtrtosxe reolizeazd ercplorare4 sislo-ntici b litime a unui graf G = (V, E) dat pdn lictele de adiacentd:
a. F( L ,t) proc8are(i);
fiXILE ( p dlf.!1t IF ( s[date(p)] r ( t,data(p)); EID-IF p +succ(P) ; EilD-TIIILI ETD-T b. c(L, i") proces|re(i):
de 0 ) D0. = 0) TfiEl
sl i l 1 ;
PUI(q,i) ;
180
CAPITOLUL11. TESTEGRILA
rF ( lucbtr {J,"L} ou .rtltI
It
Ibstul 75! Algoritnul urratrtor c8lcule&zl coElpoteltale cfnexe ale utrur gref G: COTIEXIUNE(G) / / ctL..tJ ilitializat
s*s\tj);
} lTEx
s* 0;
cu [0..0]
EtsE r F ( L ( s) fi Er
plocerazi L;
FoR ficaie
rF (igs) TtE
i diD V m
s+sU{L};
ND.IF Ef,D-IF EM-gf,ILE END-EXPL 1. a
S, FS, U{L}; Ci CrU{L}; -
Cr
-{i}i ircidsnt! cu J;
2.b 3. aqi b
s,_s,\tj);
s'_s,Uftl;
Ci * CIU{L}; EIID-IF EIID-IF EXD-IIf,ILE END-EXPLORAR.E b. EX?LORARE(C, ploc6eaz{ i D
lacld.ltl
cu J;
182
Rd,spunsuricorecte
Testul1 Testul2 Testul3 Testul4 Testul 5 Te6tul6 Te6tul7 Te6tulE Testul I Tstull0 Testul11 Tedtul12 Testul13 Testul14
le s tu l l b
Testul16 Testul17 Testul18 Testul19 Testul20 Testul21 Testul22 Testul23 Testul24 Testul25
4 1 2 2 2 4 2 3 2 1 2 2 4 3 I 2 3 2 2 2 I 2 2 2 2
Testul26 Testul27 Testul28 Testul29 Testul 30 Testul31 Testul32 Testul33 Testul 34 Testul35 Testul36 Testul37 Testul38 Te6tul39 Testul40 Te6tul 41 Tedtul 42 Testul 43 Te6tul 44 Te6tul45 T6tul46 Tedtul47 Testul 48 Te6tul49 T6tul50
3 2 1 2 3 3 2 2
I 1
2
1
2 1 3 I 2 2 3 2 1 1 1 1
4 Testul52 2 Testul53 1 Testul54 2 Testul55 I Testul56 -l Testul57 2 Testul58 2 Testul59 1 Testul60 3 Testul61 3 Te6tul 62 2 Testul63 2 Trtul64 3 Testul65 4 Testul66 3 Testul67 2 Testul68 2 Testul69 3 Testul70 2 Testul7l I Te6tul72 3 T$tul 73 2 Testul 74 2
l esLul b1
Bibliografie
I
I I
I
I
tearut /J
I I
Alsorirhrr lr [BG00l S. Baase, A. Vaa Gelder: Computer :'0ll L(nr{nrrur, to Deeign& Ana.l'6is,AddisonWesley lCLRSol T. Cormen, C. Leiserson,R. Rivest: I'rl',!l'x I', ll){l(l Institute of TechD')l{)Kv, rithms, Massachusetts [Ch75l N. Christofldes: Graph Theory, An Algorillnrir A1'1 demic Pre6s,1975' [Cro92l C. Croitoru: Tehnicide brzl ln optimizenlt { ort,l,rt,r,t 'l Universitdtii"Al.I.Cuza",Iai, 1992 ()trrrrlrrrrls [GiE5l A. Gibbons: Algorithmic Graph Theory, Pres$,1985 ( [He96l G. Heileman: Da.taStructures,AlSorithnd 'rnrl )l,irr McGraw-Hill, 19965. Prograrnming, [HS93l E. Horowitz, S. Sahni' S. Anderson-Itctxl: l\rrll Pro,eH, ll)l):l in C, Comput$ Science Data Structurd ni rlg.'riltri llu92l D. Lucaau: Bazeleproiectaxiiprogramelor UniversitatiiI'Al. L Cuza", Iasi, 1996 snd EfficienIAlgi'titl'r' [Meh84l K. Mehlhorur DataStructure6 Verlag, 1984 [MS91l B.M.E. Moret' H.D. Shapiro: Algorithnrefrrrrr I' I IIl., lttl Benjamin/CummingsPublishingComparry, 1991 (l [Sa84] S. Sahni: Data Structuresand AlSorithmsin 1 | , W(:l Hill, 19986. K.Mehlhom - Dat& Structuro't (l l'llli ' rithms, Spirger Verls8, 1984 Aopectsof Vl,Sl, ( lurrl'r [UB4l J.D. UIhrrA!: ComputatioDal 1984 Prees.Stanford,Californis, Weissr Data Stnctures and Algoril,htrrArrdvnl M,A. [w.e92l Irrr.. llll)l Publishinlg Oornpnnv, Benja.rnin/CumminSp I Ii3