Structuri de date si algoritmi
Structuri de date si algoritmi
Structuri de date si algoritmi
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Structuri</strong> <strong>de</strong> <strong>date</strong> <strong>si</strong> <strong>algoritmi</strong><br />
1. Care este numarul maxim <strong>de</strong> noduri dintr-un arbore binar <strong>de</strong> inaltime 5?<br />
a) 15<br />
b) 31<br />
c) 63<br />
d) 64<br />
2. In cazul meto<strong>de</strong>i <strong>de</strong> sortare rapida(QuickSort) daca elementul pivot(dupa<br />
care se face partitionarea) este ales primul element, sortarea unui vector<br />
<strong>de</strong>ja ordonat crescator corespun<strong>de</strong> :<br />
a) cazului cel mai favorabil<br />
b) cazului cel mai <strong>de</strong>favorabil<br />
c) timpul nu poate fi apreciat<br />
3. Care este numarul minim <strong>de</strong> noduri dintr-un arbore AVL <strong>de</strong> inaltime 5?<br />
a) 15<br />
b) 12<br />
c) 31<br />
d) 25<br />
4. Parcurgand in inordine un arbore binar <strong>de</strong> cautare cheile vor fi in ordine:<br />
a)<strong>de</strong>screscatoare<br />
b)crescatoare<br />
c)in nici o ordine<br />
d)la inceput crescatoare, apoi <strong>de</strong>screscatoare<br />
5. Se con<strong>si</strong><strong>de</strong>ra o lista liniara <strong>si</strong>mplu inlantuita cu nodurile avand<br />
urmatoarea structura<br />
type<br />
pNod = ^TipNod;<br />
TipNod = record<br />
info : TipInfo;<br />
urm : pNod;<br />
end;<br />
Presupunem ca exista <strong>de</strong>claratia:<br />
var p :pNod;<br />
<strong>si</strong> ca variabila p contine adresa unui nod al listei. In aceste conditii,<br />
care este efectul urmatoarei secvente <strong>de</strong> instructiuni:<br />
if (p.^urm nul) p^.urm := p^.urm^.urm;<br />
a)sterge nodul care se gaseste la adresa p^.urm, in cazul in care exista<br />
b)adauga nodul p la lista<br />
c)sterge nodul care se afla la adresa p^.urm, in cazul in care acesta<br />
exista<br />
d)adauga nodul p^.urm la sfar<strong>si</strong>tul listei<br />
6. Se con<strong>si</strong><strong>de</strong>ra arborele binar <strong>de</strong> cautare din figura:<br />
7<br />
/ \<br />
3 10<br />
/ \ / \<br />
2 5 8 13<br />
Daca se parcurge in inordine acest arbore, ordinea corecta a vizitarii nodurilor<br />
este:<br />
a) 7, 3, 10, 2, 5, 8, 13
) 7, 3, 2, 5, 10, 8, 13<br />
c) 2, 3, 5, 7, 8, 10, 13<br />
d) 2, 5, 8, 13, 3, 10, 7<br />
7. Se con<strong>si</strong><strong>de</strong>ra arborele binar <strong>de</strong> cautare din figura:<br />
7<br />
/ \<br />
5 12<br />
/ \ /<br />
2 6 8<br />
In urma parcurgerii in preordine a acestui arbore, ordinea <strong>de</strong> vizitare a<br />
nodurilor este:<br />
a)7, 5, 2, 6, 12, 8<br />
b)7, 5, 12, 2, 6, 8<br />
c)2, 6, 8, 5, 12, 7<br />
d)2, 5, 6, 7, 8, 12<br />
8. Intr-un arbore AVL vid, se insereaza urmatoarele chei: 1, 2, 3, 4, 5, 6<br />
(in aceasta ordine).<br />
Care este configuratia arborelui dupa inserarea ultimei chei?<br />
a) 3<br />
/ \<br />
2 5<br />
/ / \<br />
1 4 6<br />
b) 2<br />
/ \<br />
1 5<br />
/ \<br />
4 6<br />
/<br />
3<br />
c) 4<br />
/ \<br />
2 5<br />
/ \ \<br />
1 3 6<br />
d) 4<br />
/ \<br />
3 5<br />
/ \ \<br />
1 2 6<br />
9. Daca un arbore binar <strong>de</strong> cautare echilibrat dupa inaltime contine 635<br />
noduri, rega<strong>si</strong>rea unei inregistrari nece<strong>si</strong>ta in cel mai rau caz:<br />
a)7 comparatii<br />
b)10 comparatii<br />
c)12 comparatii<br />
d)9 comparatii
10. Se con<strong>si</strong><strong>de</strong>ra urmatorul arbore binar <strong>de</strong> cautare:<br />
7<br />
/ \<br />
3 12<br />
/ \ \<br />
1 5 14<br />
Cheia pre<strong>de</strong>cesoare pentru 7 este:<br />
a)3<br />
b)5<br />
c)14<br />
d)12<br />
11. Se con<strong>si</strong><strong>de</strong>ra urmatorul arbore binar <strong>de</strong> cautare:<br />
7<br />
/ \<br />
5 10<br />
/ \<br />
2 20<br />
\<br />
4<br />
/<br />
3<br />
In urma stergerii nodului cu cheia 7, arborele va arata astfel:<br />
a) 4<br />
/ \<br />
5 10<br />
/ \<br />
2 20<br />
\<br />
3<br />
b) 10<br />
/ \<br />
5 20<br />
/<br />
2<br />
\<br />
4<br />
/<br />
3<br />
c) 5<br />
/ \<br />
2 10<br />
\ \<br />
4 20<br />
/<br />
3<br />
d) 5<br />
/ \<br />
4 10<br />
/ \<br />
3 20<br />
/
2<br />
12. Care afirmatie este a<strong>de</strong>varata?<br />
a)Arborii B sunt intot<strong>de</strong>auna perfect echilibrati.<br />
b)Arborii AVL sunt intot<strong>de</strong>auna perfect echilibrati.<br />
c)Arborii B nu sunt intot<strong>de</strong>auna perfect echilibrati.<br />
d)Arborii AVL <strong>si</strong> B sunt intot<strong>de</strong>auna perfect echilibrati.<br />
13. Se con<strong>si</strong><strong>de</strong>ra urmatorul arbore binar <strong>de</strong> cautare:<br />
7<br />
/ \<br />
6 9<br />
/ /<br />
3 8<br />
In urma inserarii cheilor 12, 4, 10, in aceasta ordine, cum va arata arborele?<br />
a) 7<br />
/ \<br />
6 9<br />
/ / \<br />
3 8 12<br />
\ /<br />
4 10<br />
b) 7<br />
/ \<br />
4 9<br />
/ \ / \<br />
3 6 8 10<br />
\ \<br />
4 12<br />
c) 7<br />
/ \<br />
6 9<br />
/ \ / \<br />
3 4 10 12<br />
/<br />
8<br />
d) 7<br />
/ \<br />
6 9<br />
/ / \<br />
3 8 10<br />
\ \<br />
4 12<br />
14. Intr-un arbore AVL, un nod <strong>de</strong>vine critic atunci cand:<br />
a)factorul sau <strong>de</strong> echilibrare <strong>de</strong>vine 2;<br />
b)factorul sau <strong>de</strong> echilibrare <strong>de</strong>vine -2;<br />
c)factorul sau <strong>de</strong> echilibrare <strong>de</strong>vine 2 sau -2;<br />
d)factorul sau <strong>de</strong> echilibrare <strong>de</strong>vine 1 sau -1;<br />
15. In urma inserarii unui nod intr-un arbore AVL, acesta se poate<br />
<strong>de</strong>zechilibra. In cazul in care se <strong>de</strong>zechilibreaza,<br />
care din urmatoarele operatiuni se pot folo<strong>si</strong> pentru reechilibrare?<br />
a)se insereaza noduri, pana cand <strong>de</strong>vine echilibrat;
)se sterg noduri, pana cand <strong>de</strong>vine echilibrat;<br />
c)se efectueaza rotatii pentru nodurile critice;<br />
d)nu se poate face nimic;<br />
16. Un nod dintr-un arbore binar <strong>de</strong> cautare are:<br />
a)exact doi copii;<br />
b)nu mai mult <strong>de</strong> doi copii;<br />
c)doi sau mai multi copii;<br />
d)oricati copii, <strong>de</strong>pinzand <strong>de</strong> gradul sau;<br />
17. Pentru un arbore binar <strong>de</strong> cautare <strong>de</strong> inaltime 5, care este numarul<br />
maxim <strong>de</strong> fruze la care acesta poate sa ajunga?<br />
a)15<br />
b)16<br />
c)18<br />
d)22<br />
18. Folo<strong>si</strong>nd metoda bulelor pentru a ordona o lista liniara <strong>si</strong>mplu<br />
inlantuita cu n noduri, timpul maxim folo<strong>si</strong>t este:<br />
a)O(n)<br />
b)O(n^2)<br />
c)O(log n)<br />
d)O(n * log n)<br />
19. Un arbore binar <strong>de</strong> cautare este AVL daca:<br />
a)pentru fiecare nod, inaltimile celor doi subarbori difera cel mult cu o<br />
unitate;<br />
b)nodurile frunza sunt pe acela<strong>si</strong> nivel;<br />
c)pentru nodul radacina, inaltimile celor doi subarbori difera cel mult cu<br />
o unitate;<br />
d)niciodata;<br />
20. Sa presupunem ca intr-un program Pascal exista urmatoarea<br />
<strong>de</strong>claratie:<br />
var p:^TipNod;<br />
In aceste conditii, care este efectul urmatoarei instructiuni:<br />
new(p);<br />
a) modifica o zona <strong>de</strong> memorie;<br />
b) sterge o zona <strong>de</strong> memorie;<br />
c) aloca o zona <strong>de</strong> memorie <strong>si</strong> atribuie variabilei p adresa <strong>de</strong> inceput a<br />
zonei alocate.<br />
21. Se con<strong>si</strong><strong>de</strong>ra o lista liniara <strong>si</strong>mplu inlantuita cu nodurile avand<br />
structura urmatoare:<br />
type<br />
pNod = ^TipNod;<br />
TipNod = record<br />
info:TipInfo;<br />
urm:pNod;<br />
end;<br />
Sa presupunem <strong>de</strong> asemenea ca exista <strong>de</strong>claratiile:<br />
var p,q:pNod;<br />
<strong>si</strong> ca variabila p contine adresa unui nod al listei. In aceste conditii, care<br />
este efectul urmatoarei secvente <strong>de</strong> instructiuni:<br />
new(q);<br />
q^.urm := p^.urm;<br />
p^.urm := q;
a) insereaza nodul indicat <strong>de</strong> q dupa nodul indicat <strong>de</strong> p;<br />
b) insereaza nodul indicat <strong>de</strong> q inaintea nodului indicat <strong>de</strong> p;<br />
c) sterge nodul indicat <strong>de</strong> p.<br />
22. Inaltimea unui arbore este egala cu numarul maxim <strong>de</strong> muchii<br />
traversate <strong>de</strong> la radacina la fiecare nod frunza. Care este numarul maxim<br />
<strong>de</strong> noduri ale unui arbore binar <strong>de</strong> inaltime 4 ?<br />
a) 16;<br />
b) 31;<br />
c) 32.<br />
23. Se con<strong>si</strong><strong>de</strong>ra un arbore binar <strong>de</strong> cautare. Care dintre parcurgerile<br />
standard viziteaza nodurile in ordinea crescatoare a valorilor cheilor lor<br />
?<br />
a) in preordine;<br />
b) in inordine;<br />
c) in postordine.<br />
24. Un arbore binar <strong>de</strong> cautare este un arbore AVL daca:<br />
a) inaltimile celor doi subarbori ai radacinii difera cel mult cu o<br />
unitate;<br />
b) doar daca inaltimile celor doi subarbori ai radacinii sunt egale;<br />
c) inaltimile celor doi subarbori ai radacinii difera cel putin cu o<br />
unitate.<br />
25. Sa presupunem ca se creaza un arbore binar <strong>de</strong> cautare ale carui<br />
noduri sunt numere intregi prin inserarea succe<strong>si</strong>va a n noduri cu cheile<br />
1, 2, ..., n, in aceasta ordine. In aceste conditii, cum este arborele<br />
rezultat ?<br />
a) echilibrat dupa inaltime;<br />
b) <strong>de</strong>generat; nodurile au doar <strong>de</strong>scen<strong>de</strong>nti stingi;<br />
c) <strong>de</strong>generat; nodurile au doar <strong>de</strong>scen<strong>de</strong>nti drepti.<br />
26. Cati arbori binari <strong>de</strong> cautare se pot forma cu trei noduri care au<br />
cheile 10, 20, 30 ?<br />
a) 6;<br />
b) 5;<br />
c) 9.<br />
27. Care este cazul in care complexitatea sortarii unui vector cu n chei<br />
prin algoritmul heapsort este O(n)<br />
a) vector gata sortat<br />
b) vector invers sortat<br />
c) vector cu chei egale<br />
d) vector cu structura <strong>de</strong> heap<br />
e) in nici un caz complexitatea nu poate fi O(n)<br />
28. Prin ce algoritm <strong>de</strong> sortare cu complexitatea temporala O(n*log(n))<br />
poate fi sortata o lista <strong>si</strong>mplu inlantuita, fara consum suplimentar <strong>de</strong><br />
spatiu <strong>de</strong> memorie:<br />
a) sortare prin insertie binara<br />
b) sortare rapida<br />
c) sortare prin interclasare<br />
d) sortare prin selectie directa<br />
e) nici unul
29. Alocarea secventiala a elementelor unei liste nu este a<strong>de</strong>cvata<br />
pentru:<br />
a) accesul la un nod arbitrar din lista<br />
b) inserarea unui nod in lista<br />
c) stergerea unui nod din lista<br />
d) adaugarea unui nod in lista<br />
30. Alocarea secventiala a elementelor unei liste ordonate nu este<br />
a<strong>de</strong>cvata pentru:<br />
a) accesul la un nod arbitrar din lista<br />
b) inserarea unui nod in lista<br />
c) modificarea partiala a unui nod, fara afectarea cheii <strong>de</strong> sortare<br />
31. Avantajul unei cautari Fibonacci, ce partitioneaza o lista conform<br />
unei secvente Fibonacci, consta in faptul ca:<br />
a) opereaza asupra listelor nesortate<br />
b) inlocuieste operatiile <strong>de</strong> impartire prin operatii <strong>de</strong> adunare <strong>si</strong> sca<strong>de</strong>re<br />
c) realizeaza <strong>si</strong> sortarea listei, concomitent cu operatia <strong>de</strong> cautare<br />
32. Un arbore poate fi a<strong>si</strong>milat unui:<br />
a) graf conex bipartit<br />
b) graf conex ciclic<br />
c) graf conex aciclic<br />
d) multigraf aciclic<br />
33. Un arbore binar <strong>de</strong>generat este:<br />
a) un arbore ce contine doar un nod (radacina)<br />
b) un arbore in care toate nodurile neterminale au doar <strong>de</strong>scen<strong>de</strong>nti stanga<br />
sau doar <strong>de</strong>scen<strong>de</strong>nti dreapta<br />
c) un arbore cu toate nodurile terminale <strong>si</strong>tuate pe nivele adiacente<br />
34. Cea mai eficienta metoda <strong>de</strong> traversare a arborilor binari insailati<br />
este:<br />
a) preordine<br />
b) inordine<br />
c) postordine<br />
35. Daca intr-un arbore binar <strong>de</strong> cautare echilibrat dupa inaltime sunt<br />
1000 <strong>de</strong> noduri (inregistrari), rega<strong>si</strong>rea unei inregistrari nece<strong>si</strong>ta, in<br />
cel mai rau caz:<br />
a) 1000 <strong>de</strong> comparatii<br />
b) 32 <strong>de</strong> comparatii<br />
c) 11 comparatii<br />
d) 6 comparatii<br />
36. Care din afirmatiile <strong>de</strong> mai jos nu este corecta:<br />
a) Arborii TRIE fac parte din categoria arborilor <strong>de</strong> rega<strong>si</strong>re<br />
b) Arborii TRIE contin in nodurile interne in<strong>de</strong>c<strong>si</strong> <strong>si</strong> in nodurile frunza<br />
pointeri catre inregistrarile memorate<br />
c) Arborii TRIE reprezinta tipuri <strong>de</strong> <strong>date</strong> care sunt <strong>si</strong>ruri <strong>de</strong> obiecte<br />
d) Arborii TRIE sunt arbori binari <strong>de</strong> cautare<br />
37. Care din afirmatiile <strong>de</strong> mai jos este corecta :<br />
a) Algoritmul lui Krushal <strong>de</strong>termina drumul minim nodurile grafului<br />
b) Algoritmul lui Dijkstra <strong>de</strong>termina <strong>si</strong> ciclurile negative
c) Algoritmii <strong>de</strong> <strong>de</strong>terminare a drumurilor minime se bazeaza pe relaxarea<br />
muchiilor<br />
d) Algoritmul lui Bellman-Ford are complexitatea O(V+E),<br />
un<strong>de</strong> V=numarul <strong>de</strong> varfuri, E=numarul <strong>de</strong> muchii<br />
38. Care din afirmatiile <strong>de</strong> mai jos nu este corecta :<br />
a) Algoritmul lui Krushal este un algoritm <strong>de</strong> tip greedy<br />
b) Algoritmul lui Prim este un algoritm <strong>de</strong> tip greedy<br />
c) Algoritmul lui Bellman-Ford este un algoritm <strong>de</strong> tip backtracking<br />
d) Algoritmul lui Dijkstra este un algoritm <strong>de</strong> tip greedy<br />
39. Inserarea unei chei intr-un arbore B poate duce la :<br />
a) Dezechilibrarea arborelui B<br />
b) Divizarea unei pagini a arborelui<br />
c) Nece<strong>si</strong>tatea efectuarii unor rotatii asupra arborelui<br />
d) Depa<strong>si</strong>rea spatiului alocat reprezentarii arborelui<br />
40. Care afirmatie este corecta:<br />
a) Arborii B sunt o generalizarea arborilor AVL<br />
b) Orice arbore AVL este <strong>si</strong> arbore binar <strong>de</strong> cautare<br />
c) Orice arbore B este <strong>si</strong> arbore TRIE<br />
d) Orice arbore SPLAY este <strong>si</strong> arbore B