Sunteți pe pagina 1din 9

INFORMATIC!

*I*

IC.09. Autoevaluare

Capitolul IC.09. Autoevaluare


Observa!ie Exist! ntreb!ri cu mai multe r!spunsuri corecte 1. Se consider" arborele MaxHeap cu implementarea static" [9, 7, 4, 2, 6, 1, 3] #i reprezentarea

Care va fi con$inutul tabloului dup" #tergerea din heap a valorii maxime? a) [7, 4, 2, 6, 1, 3] b) [7, 4, 6, 2, 1, 3] c) [7, 4, 6, 2, 3, 1] d) [7, 6, 4, 2, 1, 3] e) [7, 6, 4, 2, 3, 1] 2. ntr-un arbore binar plin, toate nodurile interne au exact doi descenden$i. Cte noduri interne sunt ntr-un arbore binar plin cu 512 frunze? a) 256 b) 511 c) 512 d) 513 e) 1024

3. Care dintre urm"toarele structuri de date este cea mai potrivit" pentru stocarea simbolurilor #i a cuvintelor rezervate specifice unui limbaj de programare? a) tabel" de dispersie b) list" nl"n$uit" c) arbore binar d) coad" de priorit"$i e) tablou unidimensional

4. Se consider" arborele binar de c"utare de mai jos.

Pornind de la un arbore gol, inserarea c"rei secven$e de chei ntregi conduce la BST de mai sus? (A) 5, 9, 1, 7, 3, 4 (B) 5, 7, 4, 9, 3, 1 (C) 5, 4, 7, 3, 9, 1 (D) 5, 3, 4, 9, 1, 7 (E) 5, 3, 1, 7, 9, 4 5. Care dintre structurile de mai jos este cea mai potrivit" pentru a implementa o colec$ie de valori cu urm"toarele caracteristici: -1-

INFORMATIC!*I* ! ! ! a) b) c) d) e)

IC.09. Autoevaluare

Elementele sunt inserate, reg"site #i #terse n mod FIFO; Num"rul de elemente a colec$iei nu este cunoscut apriori; Este necesar" alocarea unei zone de memorie relativ mare pentru fiecare element al colec$iei. List" liniar" simplu nl"n$uit", cu pointeri la primul #i ultimul element List" dublu nl"n$uit", cu pointer la unul din capete Tablou Arbore binar Tabel" de dispersie

6. Care este ordinul de complexitate pentru urm"toarea secven$"? while (i>0) { for (j = 0 ; j < n/2 ; j++) cout << i << j << endl; i--; } a) O(n2) b) O(nlogn)

c) O(logn)

d) O(n)

7. Se consider" tabloul V ce con$ine reprezentarea implicit" a unui arbore binar: 60 25 45 20 15 30 40 10 18 12 5 Arborele este: a) AVL b) BST 8. Fie un Atunci: a. b. c. d. c) Heap d) nicio variant" nu este corect" 22

arbore heap cu N elemente #i k nivele complete, implementat static f"r" goluri. Pe ultimul nivel sunt N-2k+1 noduri Pe ultimul nivel sunt 2k+1-N+1 goluri Pe ultimul nivel sunt N-2k-1 noduri Pe ultimul nivel sunt 2k+1-N-1 goluri

9. Care din afirma$iile de mai jos sunt corecte? a) Dac" un arbore binar de c"utare #i un arbore B con$in acela#i numar de chei, atunci cei doi arbori au adncimi egale. b) Ordinul de complexitate pentru opera$ia de inserare a unui nod ntr-o coada liniar" alocat" dinamic este O(1). c) C"utarea binar" este de complexitate mai mic" dect c"utarea secven$ial". d) Dac" un arbore B este de ordin 3, atunci orice pagin" cuprinde cel mult 3 chei. 10. Care este ordinul de complexitate pentru urm"toarea secven$"? for (i = 1 ; i < n ; i=i*2) for (j = 0 ; j < n; j++) cout << i << j << endl; a) O(n2) b) O(nlogn) c) O(logn)

d) O(n)

11. Dat" fiind Q o coad" circular" alocat" static, Q.vect este vectorul ce con%ine elementele cozii, Q.head &i Q.tail reprezint" indexul primului element respectiv indexul primului loc liber n care se poate insera un element #i func$ia urm"toare: -2-

INFORMATIC!*I* put(Q,a) if Q.tail=Nextpoz(Q.head) then print Coada plina elseif Q.vect[Q.tail] 'a Q.tail'Nextpoz(Q.tail) endif end Unde este o eroare n secven$a dat": a) Pe ramura then b) Pe ramura elseif c) Testul de la if d) Secven$a este corect"

IC.09. Autoevaluare

12. Completa$i spa$iile libere: ntr-un arbore B inserarea se face ntotdeauna (preciza$i locul) ............ ntr-un arbore binar complet de adncime h, num"rul total de noduri este ............................... C"utarea nodului de cheie minim" ntr-un BST, n cazul cel mai defavorabil, este de complexitate ........................ ntr-un arbore B, nodurile sunt grupate n .................. , cheile fiind ordonate strict cresc"tor. Algoritmul de sortare prin insertie este de complexitate .................. ntr-un arbore binar complet de adncime h, num"rul total de noduri este............................... C"utarea nodului de cheie minim" ntr-un BST, n cazul mediu, este de complexitate ........................ 13. Care trebuie s" fie ordinea introducerii elementelor 2,4,5,6,7,9 ntr-un arbore binar de c"utare astfel nct, la parcurgerea acestuia n preordine s" se ob%in" urm"toarea secven%" 427569 a. 4 7 9 2 5 6 b. 4 9 7 6 5 2 c. 4 2 7 5 6 9 d. 7 2 4 5 9 6 14. Preciza$i care din afirma$iile urm"toare sunt adev"rate: a) Complexitatea inser"rii unui nod ntr-o coad" alocat" dinamic este O(n); b) Algoritmul de sortare QuickSort este de complexitate mai mic" dect BubbleSort; c) Un arbore BST cu n>2 nu poate fi HEAP. 15. Fie o list" circular" simplu nl"n$uit" alocat" dinamic unde pointerul l con%ine adresa primului element din list" iar pointerul x con$ine adresa unui element din lista l. Secven$a y"succ(x) poate fi utilizat" pentru: succ(x) "succ(y) a. #tergerea din list" a primului nod free_sp(y) b. #tergerea din list" a nodului indicat de x c. #tergerea din list" a nodului ce urmeaz" celui indicat de x 16. Fie S o stiv" ordonat" n care S.vect este vectorul de dimensiune N n care se reprezint" elementele stivei S iar S.virf este indicele vrfului stivei. Atomii sunt de tip Atom iar stiva de tip Stack. Func$ia push: void push(Stack &S,Atom a) {if (S.virf >= N) printf("\n Stiva plina"); else S.vect[S.virf++] =a; } -3a. b. c. d. Este corect" Prototip eronat Eroare pe ramura Else Eroare condi$ie if

INFORMATIC!*I*

IC.09. Autoevaluare

17. Se consider" un arbore AVL. n urma efectu"rii opera$iilor de echilibrare, ordinea afi#"rii nodurilor arborelui este aceea#i pentru: a. Parcurgerea n preordine b. Parcurgerea n inordine c. Parcurgerea n postordine d. Toate tipurile de parcurgeri 18. Fie o list" simplu nl"n$uit" alocat" dinamic, pointerul q con$ine adresa unui element din list", iar p adresa unui element ce se dore#te a fi inserat . Secven$a urm"toare succ(p)"succ(q) poate fi utilizat" pentru: succ(q) "p a. Inserarea n list" a data(p) dup" data(q) aux" data(q) b. Inserarea n list" a data(p) dup" succesorul nodului q data(q)' data(p) c. Inserarea n list" a data(p) nainte de data(q) data(p)' aux d. secven$" eronat" pentru scopul prous 19. Ce rota%ii trebuiesc aplicate asupra arborelui binar de c"utare pentru care s-au introdus elementele 4 2 8 6 9 7 a. Rota%ie dubl" dreapta b. Rota%ie dubl" stnga c. Rota%ie simpl" stnga d. Rota%ie simpl" dreapta 20. Asupra c"ror structuri poate fi folosit" urm"toarea func%ie de parcurgere n inordine? void inordine(int i) { if (i<=n && (A[i]!='-'){ inordine(i*2); prelucrare(A[i]); inordine(i*2+1); } } a. Reprezentarea implicit" a arborilor binari de c"utare b. Arbori heap c. Nu poate fi folosit", fiind gre&it". 21. Pentru dou" structuri de date predefinite tip coad" #i stiv" s-au implementat numai func$iile pentru inserare, &tergere #i testare dac" structura este goal". Se implementeaz" o aplica$ie care num"r" elementele din structura A (stiv" sau coad") aflat" n stare ini$ial" utiliznd o structur" auxiliar" B (de tip stiv" sau coad"). Structurile A #i B pot fi utilizate n orice combina$ie stiv"-coad", dar dup" num"rare, structura A trebuie s" se fie n starea ini$ial". Pentru care din combina$iile I-III de mai jos, num"rarea elementelor din A este posibil" n condi$iile enun$ate mai sus: I. A este coad", B este stiv" II. A este stiv", B este stiv" III. A este stiv", B este coad" a) Nici una b) Numai II #i III c) Numai I #i II d) I,II #i III e) Numai II #i III

-4-

INFORMATIC!*I*

IC.09. Autoevaluare

22. ntr-un arbore binar plin, toate nodurile interne au exact doi descenden$i. Cte noduri interne sunt ntr-un arbore binar plin cu 128 frunze? a) 256 b) 127 c) 128 d) 129 e) 64 23. Ce fel de rota%ii pot fi implementate utiliznd urm"torul cod: Nod* Rot(Nod* p) { Nod* aux; aux = p->stg; p->stg = aux->drt; aux->stg = p; p->fact = 0; aux->fact= 0; return aux; } a. Rota%ie dubl" dreapta b. Rota%ie simpl" stnga c. Rota%ie simpl" dreapta d. Codul nu va efectua nici o rota%ie, fiind gre&it. 24. Complexitatea timp a algoritmului de generare a unui heap (f"r" a utiliza memorie suplimentar" ) pornind de la un vector cu n elemente poate fi a. ntotdeauna O(logn) b. O(nlogn) sau O(n) c. Numai O(n) d. ntotdeauna O(nlogn) 25. Care din afirma$iile de mai jos sunt corecte? e) Dac" un arbore binar de c"utare #i un arbore B con$in acela#i numar de chei, atunci cei doi arbori au adncimi egale. f) Ordinul de complexitate pentru opera$ia de inserare a unui nod ntr-o coada liniar" alocat" dinamic este O(1). g) C"utarea binar" este de complexitate mai mic" dect c"utarea secven$ial". h) Dac" un arbore B este de ordin 3, atunci orice pagin" cuprinde cel mult 3 chei. 26. Se consider" func$ia de dispersie h(x) = x modulo m care asociaz" unui ntreg x o intrare ntr-o tabel" de dimensiune m. Pentru care din urm"toarele valori ale lui m func$ia h este o func$ie de dispersie perfect" peste setul de chei { 0, 6, 9, 12, 22, 31 }? a) m = 11 b) m = 4 c) m = 7 d) m = 13 27. Preciza$i care din afirma$iile urm"toare sunt adev"rate: a. Un arbore HEAP este sigur #i AVL; b. Se consider" o list" alocat" dinamic, identificat" prin pointerul p. Opera$ia de inserare a unui nod n list", naintea elementului pointat de p este de complexitate O(n); c. Complexitatea algoritmului de nmul$ire a dou" matrici este O(n2); d. Algoritmul QuickSort este de complexitate O(nlog(n)). -5-

INFORMATIC!*I*

IC.09. Autoevaluare

28. Fie un arbore binar de c"utare cu structura Nod: Nod* f(Nod* &nod) Func$ia f implementeaz" opera$ia prin care: {Nod* p; a. se &terge din arbore nodul de valoare minim" #i ntoarce if(nod->drt==0) pointer spre acesta; {p=nod; b. se caut" nodul de valoare maxim" #i ntoarce pointer spre nod=nod->stg; acesta ; return p; c. se deta#eaz" din arbore nodul de valoare minim" #i ntoarce } pointer spre acesta; else d. se deta#eaz" din arbore nodul de valoare maxim" #i ntoarce return f(nodpointer spre acesta; >drt);} e. Nici una din variantele anterioare. 29. Se consider" opera$ia de #tergere a elementului de valoare maxim" dintr-o list" liniar" alocat" dinamic (complexitate Olista), dintr-un arbore heap (complexitate Oheap) #i dintr-un arbore binar de c"utare (complexitate OBST) . Care din urm"toarele rela$ii este corect": a. Olista = OBST = Oheap b. Olista <OBST < Oheap c. Oheap = OBST <Olista d. Oheap < OBST <Olista care din urm"toarele afirma$ii este corect"? a. n0 = n2 +1 . b. n2 = n0 +1 . c. n1 = n2 +1 .

30. Fie T un arbore binar. Dac" not"m: n2 - num"rul de noduri de grad 2 din arborele binar T, n1 - num"rul de noduri de grad 1 din arborele binar T, n0 - num"rul de noduri terminale (frunze) din arborele binar T,

31. Se consider" o tabel" de dispersie cu valori n { 0, 1, , m - 1 }. Tabela poate con$ine mai mult de m nregistr"ri atunci cnd a) rezolvarea coliziunilor se face prin adresare deschis" b) rezolvarea coliziunilor se face prin nl"n$uire c) rezolvarea coliziunilor se face prin dispersie dubl" d) func$ia de dispersie realizeaz" o dispersie perfect" 31. Opera$iile care trebuiesc f"cute n cazul unei rota$ii duble sunt urm"toarele: a. lchild(a) = b. b = lchild(a) rchild(c) c = rchild(b) b = lchild(a) lchild(a) = rchild(c) rchild(b) = lchild(c) rchild(b) = lchild(c) c = rchild(b) rchild(c) = a rchild(c) = a lchild(c) = b lchild(c) = b a = c // se schimb" r"d"cina a = c // se schimb" arborelui. r"d"cina arborelui. la dreapta ntr-un arbore AVL c) b = lchild(a) c = rchild(b) rchild(b) = lchild(c) rchild(c) = a lchild(c) = b a = c// se schimb" r"d"cina arborelui

-6-

INFORMATIC!*I*

IC.09. Autoevaluare

32. ntr-un graf complet cu 6 noduri sunt maxim: a. 360 cicluri hamiltoniene; b. 720 cicluri hamiltoniene; c. 12 cicluri hamiltoniene; d. 120 cicluri hamiltoniene. 33. Fie f : N ! N &i g : N ! N dou" func$ii. Care din defini$iile urm"toare este corect": e. Spunem c" f " O(g) #i not"m f = O(g) dac" #i numai dac" # c " R #i $ n0 " N astfel nct pentru $ n > n0 : f(n) < c%g(n) f. Spunem c" f " O(g) #i not"m f = O(g) dac" #i numai dac" pentru $ c " R #i $ n0 " N, # n " N astfel nct f(n) < c%g(n) g. Spunem c" f " O(g) #i not"m f = O(g) dac" #i numai dac" # c " R #i # n0 " N astfel nct pentru $ n > n0 : f(n) < c%g(n) 34. Fie S o stiv" nl"n$uit" #i f,g,h implement"ri ale celor trei opera$ii de baz" (push, pop,top): f(S,a) g(S) h(S) p' get_sp); if S=0 then if S=0 then data(p)'a; eroare("Stiva vida") eroare("Stiva vida") succ(p)'S else else S'p return(data(S)) p'S; Endf endif S'succ(S) endg Free_sp(p) endif end Func$iile f,g, h implementeaz" respectiv opera$iile a. pop, top, push b. top, push, pop c. push, top, pop 35. Dat" fiind Q o coad" circular" alocat" static, Q.vect este vectorul ce con%ine elementele cozii, Q.head &i Q.tail reprezint" indexul primului element respectiv indexul primului loc liber n care se poate insera un element #i func$ia urm"toare: put(Q,a) Unde lipse#te ceva pentru ca func$ia put s" lucreze corect n if orice situa$ie: Q.tail=Nextpoz(Q.head) a. Pe ramura then then b. Pe ramura elseif print Coada plina c. Testul de la if elseif Q.vect[Q.tail] 'a Q.tail'Nextpoz(Q.tail) endif end

-7-

INFORMATIC!*I* 36. Fie G=(V,E) un graf reprezentat prin matricea de adiacen$" A:

IC.09. Autoevaluare

0 1 1 0 0 1 0 0 0 0 A= 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 a) Graful G este arbore b) Graful G nu este arbore c) Graful este neorientat d) Graful este conex e) Graful este complet 37. Func$ia c!utare-nod ar trebui s" implementeze opera$ia de c"utare a unui nod cu cheia k ntr-un arbore binar de c"utare. Func$ia este incomplet": C!utare_nod(r!d!cin!,k) // r"d"cin" & pointer la r"d"cin" arborelui if (r"d"cin" = 0) then // primul if return NULL else if key(data(r"d"cin")) > k then // al doilea if return c"utare_nod (fiu_stnga(r"d"cin")) else if key(data(r"d"cin")) < k then // al treilea if return c"utare_nod (fiu_dreapta(r"d"cin")) endif endif endif end{C!utare_nod} Unde lipse#te ceva: a. pe ramura then a primului if b. pe ramura then a celui de-al doilea if c. pe ramura else a celui de-al treilea if (lipse#te dar ar trebui s" fie prezent" #i s" con$in" ceva) 38. Fie T=(V,E) un arbore heap incomplet eventual doar pe ultimul nivel #i n care valoarea de nod este chiar cheia acestuia. Care este varianta corect" pentru opera$ia de inserare a unui nod n heap-ul T ? a. Se insereaz! nodul pe nivelul incomplet; Se reorganizeaza structura arborelui : se deta#eaz" din structura arborelui rad"cina, se interschimba nodul deta#at cu nodul de pe nivelul incomplet #i apoi valoarea r"d"cinii este retrogradat" pna cnd structura heap-ului este realizat". b. Nodul se insereaz! pe nivelul incomplet, dup! ultima frunz!; Se reorganizeaza structura arborelui : se promoveaz" nodul inserat de la stnga la dreapta, prin interschimbare cu p"rintele acestuia pn" cnd structura heap-ului este realizat". c. Se insereaz! nodul pe nivelul incomplet, dup! ultima frunz!; Se reorganizeaza structura arborelui : se interschimb" nodul cu r"d"cina, dup" care valoarea r"d"cinii este retrogradat" pna cnd structura heap-ului este realizat".

-8-

INFORMATIC!*I* 39. Fie matricea de adiacen$" A: 0 1 0 1 0 Aceast" matrice corespunde: a. unui graf b. unui digraf 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

IC.09. Autoevaluare

c. unui graf conex

d. unui graf ce nu este arbore

40. Se consider" un arbore AVL. n urma efectu"rii opera$iilor de echilibrare, ordinea afi#"rii nodurilor arborelui este aceea#i pentru: a) Parcurgerea n b) Parcurgerea n c) Parcurgerea n d) Toate tipurile de preordine inordine postordine parcurgeri ! 41. Ce tip de rota$ie trebuie aplicat" pentru un arbora AVL echilibrat dac" s-au introdus elementele {4 2 8 6 9 7} exact n ordinea dat"? a) Rota%ie dreapta dubl" b) Rota%ie stnga dubl" c) Rota%ie stnga simpl" d) Rota%ie dreapta simpl"

42. Complexitatea timp, n cazul cel mai defavorabil, minim" ntr-un arbore binar de c"utare este: a. O(n2) b. O(n) c. O(nlog n) d. O(logn)

pentru c"utarea nodului de cheie

43. Complexitatea opera$iilor de inserare #i #tergere ntr-un arbore heap cu n noduri este: a) O (n log n ) b) O ( n ) c) O (log n ) d) O(n 2 ) 44. Fie T=(V,E) un arbore binar cu reprezentarea implicit": 40 25 70 10 30 60 80 5 Arborele T este : a. Arbore binar de c"utare b. Arbore heap c. Arbore binar complet 20 28 35 50 65 75

45. Nodurile unui arbore binar de c"utare pot fi afi#ate n ordinea cresc"toare a cheilor prin: a) Parcurgere pe linie b) Parcurgere n inordine c) Parcurgere n preordine d) Parcurgere n postordine

-9-

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