Documente Academic
Documente Profesional
Documente Cultură
GRILE ATP
1. Fie multimea de litere [a,b,c,d] . Se genereaza permutarile acestei multimi. Precizati care sunt
solutiile anterioara si urmatoare solutiei cabd:
a) Bdac sic bad
b) Bdca si cadb
c) Bdca si cdba
d) Bcda si cdba
e) Bcda si cadb
2. Fie functia int s(int n) { int rez; if (n==0) rez=0; else rez=n+s(n-1); return rez;} In cadrul
apelului s(3) functia va returna valoarea:
a) 1
b) 6
c) 10
d) 7
e) 11
3. Care dintre urmatoarele afirmatii referitoare la metoda divide et impera sunt adevarate?
1) Este utilizata in rezolvarea unor probleme complexe
2) Implementarea este realizata de obicei prin subprogram recursive
3) Se aplica pentru problemele care pot fi descompuse in mai multe problem cu
complexitate mai mica
4) Rezolvarea problemelor rezultate in urma descompunerii este mai usoara decat
rezolvarea intregii problem initiale
5) Pentru fiecare dintre problemele rezultate in urma descompunerii se aplica un procedeu
diferit de descompunere:
a) 1,2,3,4,5
b) 1,3,4,5
c) 2,3,4,5
d) 1,2,3,4
e) 3,4
4. Fie graful G=(V,E) graf cu V={1,2,3,4,5,6,7}, E={(1,4),(1,5),(2,4),(3,6),(4,7)} si v0=2. Ordinea in
care sunt vizitate varfurile corespunzator parcurgerii in latime BF este:
a) 1,2,4,5,7
b) 2,3,6
c) 2,1,7,5
d) 2,4,1,7,5,3,6
e) 2,4,1,7,5
5. Care dintre urmatoarele afirmatii nu este adevarata:
a) Un algoritm iterative sau recursive poate fi implementat printr-un subprogram iterative
sau recursiv
b) Un subprogram recursive genereaza (cel putin) un apel catre el insusi
c) La recursivitatea directa apelul recursive se realizeaza prin intermediul mai multor functii
care se apeleaza circular
d) Recursivitatea directa poate fi simpla sau multipla
e) Fiecare apel recursive trebuie aplicat unei problem mai simple decat in pasul anterior
11. Reteaua strazilor auto din Bucuresti se reprezinta correct cu ajutorul structurii de date:
a) Graf neorientat
b) Arbore
c) Lista liniara
d) Graf orientat
e) Lista dublu inlantuita
12. Care dintre urmatoarele afirmatii legate de subprogram recursive sunt adevarate:
1) Pot fi bazate pe o metoda de tip reducere;
2) Pot fi bazate pe o metoda de tip descompunere;
3) Pot fi folosite in rezolvarea problemelor care utilizeaza metoda divide et impera;
4) Pot fi folosite la implementarea algoritmilor de parcurgere a arboritlor
5) Nu pot fi scrise pentru implementarea unor algoritmi iterative
a) Toate;
b) 2,3,4,5
c) 1,2,3
d) 2,3,4
e) 1,2,3,4
13. Tie subprogramul void Test(int i, int n){ printf(“*”); if(i<n) Test(i+1,n); printf(“+”);}. Ce va afisa
apelul Test(1,5)?
a) *+++++
b) *****+
c) *****
d) +++++
e) *****+++++
14. Fie graful G=(V,E) cu V={1,2,3,4,5,6}, E={(1,2),(1,4),(2,4),(5,6)} si v0=2. Ordinea in care sunt
vizitate varfurile corespunzator parcurgerii in latime BF este: (NICIUN RASPUNS CORECT)
a) 2,1,3,5,6,4
b) 2,3,1,5,6,4
c) 1,2,4,5,6
d) 2,1,4,5,3,6
e) 2,1,4,5,6
15. Care dintre urmatoarele afrimatii nu este valabila pentru algoritmul Kruskal:
a) Determina arborele partial de cost minim
b) Dintre arcele disponibile (care nu au fist analizate inca) se allege arcul cu ponderea cea
mai mica si care nu formeaza ciclu prin adaugare la arbore
c) Dintre arcele disponibile se allege arcul cu ponderea mai mica si care formeaza ciclu prin
adaugarea la arbore
d) Multimea muchiilor selectate E0 se initializeaza la inceput cu multumea vida
e) Determina n-1 muchii, unde n este numarul varfurilor
16. Metoda Greedy este:
a) O metoda rapida, de complexitate redusa, care genereaza intotdeauna Solutia optima a
problemei tinand cont de contextual general
b) O metoda lenta, de complexitate mare care genereaza toate solutiile posibile
c) O metoda rapita de complexitate mare, care genereaza Solutia optima a problemei
17. Un graf reprezentat prin matrice de adiacenta poate fi verificat daca este optim prin
urmatoarele metode:
1) Folosind parcurgerea in adancime
2) Folosind parcurgerea in latime
3) Folosind matricea existentei drumurilor
4) Folosind metoda backtracking
a) 1,2,3,4
b) 1,2,3
c) 3
d) 1,2
e) Nici una din variantele prezentate
18. Secventa: for(inc=n/2; inc>0; inc=inc/2) for(i=inc;i<n;i++) for(j=i-inc;ij>=0) &&… realizeaza
a) Sortarea elem unui vector prin Quicksort
b) Sortarea elem unui vector prin interclasare
c) Sortarea elem unui vector prin Shell
d) Sortarea elem unui vector prin interschimbare
e) Compactarea elem unui vector
19. Daca G este un graf neorientat, conex si aciclic, atunci graful:
a) Este complet
b) Este arbore
c) Este asimetric
d) Poate avea varfuri izolate
e) Este digraph
20. Fie arborele din figura. Parcurgerea prin metoda A-postordine (Fiu-Frate) determina
urmatoarea evolutie:
a) 1,2,3,4,5,6,7,8,9,10,11,12,13
b) 1,2,5,6,9,10,11,12,13,7,3,4,8
c) 5,9,10,11,12,13,6,7,2,3,8,4,1
d) 9,10,11,12,13,5,6,7,8,2,3,4,1
e) 13,12,11,10,9,8,7,6,5,4,3,2,1
21. Care dintre urmatoarele afirmatii legate de subprograme recusive nu este adevarata:
a) repetarea este asigurata prin autoapel
b) trebuie sa existe o conditie de oprire(sau de continuare) a generarii de noi apelori
c) pot fi utilizate in rezolvarea unor problem care utilizeaza metoda backtracking
d) pot fi folosite numai pentru implementarea unor algoritmi recursive
e) necesita consum suplimentar de resurse
22. Un algoritm de tip backtracking genereaza, in ordine, toate permutarile unei multimi cu 5
elemente. Primele 4 solutii generate sunt: 12345 12354 12435 12453. Care este a 5a solutie
generate a acestui algoritm?
a) 13245
b) 13254
c) 13425
d) 12534
e) 12543
23. Intr-un graf neorientat G, notam cu n numarul de varfuri si cu m numarul de muchii. Daca
graful este un arbore, atunci intre n si m exista urmatoarea relatie matematica:
a) m=n+2
b) n=m-1
c) n=m+1
d) n=m+2
e) n=m
24. Fie functia: int f(int n){ int rez; if(n==0) rez = 0; else if (n%2) rez = n+f(n-1); else rez=n/f(n-1);
return rez;} Ce va returna apelul f(4)?
a) 10
b) 7
c) 9
d) 17
e) 5
25. Care dintre urmatoarele afirmatii legate de metoda backtracking sunt adevarate:
1) Este o metoda lenta
2) Este o metoda costisitoare
3) Este o metoda de complexitate mare
4) Este o metoda rapida
5) Solutia se construieste element cu element
6) Verificarea conditiei de continuare nu garanteaza obtinerea unei solutii rezultat
7) Veridicarea conditiei de continuare garanteaza obtinerea unei solutii rezultat:
a) 1,2,3,5,7
b) 2,3,4,5,6
c) 1,2,3,5,6
d) 1,2,3,7
e) 4,7
26. Algoritmul Dijkstra:
a) Calculeaza distanta si drumul minim intre 2 noduri date ale unui graf
b) Determina distantele intre oricare doua noduri ale unui graf
c) Determina drumurile minime intre toate nodurile din graf
d) Determina toate drmurile posibile intre 2 noduri date
e) Calculeaza distantele si drumurile minime de la un nod al unui graf la toate celelalte
noduri din graf
27. Fie functia: int calc(int n){ int rez; if (n==0 || n==1) rez =1; else rez = 2*calc(n-1)+calc(n-2);
return rez;} Ce va returna apelul calc(3)?
a) 17
b) 15
c)9
d)7
e)21;
28. Care din urmatoarele afirmatii nu corespunde metodei Greedy (metoda optimului local):
a) Problema poate fi imaginata ca o multime A cu n elemente
b) Pot exista mai multe submultimi diferite acceptabile (solutii posibile), dar dintre care una
este considerate solutie optima pe baza unui criteriu care trebuie maximizat(minimizat);
c) O solutie posibila este o submultime B care indeplineste o conditie data (B este
acceptabila)
d) Se repeata selectarea unui element din multimea A de maxim n ori(numarul de elem.
Corespunzatoare multimii A)
e) Problema se descompune in probleme de complexitate mai mica sau problem cu
rezolvare imediata
29. Prin recursivitate indirecta se intelege:
a) Un subprogram, A apeleaza subprogramul A
b) Un subprogram A apeleaza un alt subprogram B care apeleaza subprogramul C
c) Un subprogram A apeleaza un alt subprogram B, iar subpg. B apeleaza subpg. A
d) Un subprogram A apeleaza un alt subprogram B, iar subpg. B nu apeleaza A
e) Niciuna din variantele de mai sus
30. Fie graful G=(V,E), cu V={1,2,3,4,5,6,7,8,9}, E={(1,2),(1,4),(2,7),(2,8),(3,6),(3,9),(4,5),(4,7),(7,8)}
si v0=4. Ordinea in care sunt vizitate varfurile corespunzator pargurgerii in adancime DF este:
a) 4,2,1,7,5,8
b) 3,6,9
c) 4,2,1,5,7,8
d) 4,1,2,7,8,5,3,6,9
e) 4,1,2,7,8,5
31. Care din urmatoarele afirmatii legate de sortarea crescatoare prin interclasarea unei
secvente de numere reale este adevarata:
a) Pozitioneaza un element astfel incat toate elementele care ajung in fata lui sa fie mai mici
decat el si toate cele care ii urmeaza sa fie mai mari decat el
b) Insereaza un element intr-un vector ordonat pe pozitia curenta
c) Este denumita si sortare prin interschimbare
d) Determina minimul din vector si il insereaza pe pozitia corecta
e) Utilzeaza metoda divide et impera
32. Determinarea arborelui partial de cost minim se poate face folosind:
1) Prim
2) Kruskal
3) Roy-Warshall
4) Roy-Floyd
a) 2
b) 2,3,4
c) 1,2
d) 3,4
e) 1,2,3,4
33. Un algoritm de tip backtracking genereaza, in ordine, toate permutarile unei multimi cu 4
elemente. Primele 3 solutii generate sunt: 1234 1243 1324. Care este a 4a solutie?
a) 2143
b) 2134
c) 1423
d) 1342
e) 1432
34. Care dintre urmatoarele afirmatii referitoare la metoda Divide et Impera nu este adevarata:
a) Implementarea este realizata de obicei prin subprogram recursive
b) Descompune problema in problem de complexitate mai mica de acelasi tip cu problema
initial sau in problem cu rezolvare imediata(primitive)
c) Combina(asambleaza) solutiile problemelor obtinute in urma descompunerii pentru a
obtine Solutia problemei initiale
d) Descompune problema in problem de complexitate mai mica pentru care se apeleaza
alte metode de descompunere diferite de descompunerea initial
e) Sunt definite subprogram primitive(conditii terminale) a caror solutie este cunoscuta sau
data
35. Subprogramul int cauta(float v[], intn, float val){ int rez; if(n==0) rez = -1; else if (v[n-1]==val)
rez=n-1; else rez=cauta(v,n-1,val); return rez;} calculeaza
a) Prima aparitie a unei valori date (val) intr-un vector
b) Ultima aparitie a unei valori date intr-un vector
c) Prima si ultima aparitie a unei valori date intr-un vector
d) Numarul de aparitii ale unei valori date intr-un vector
e) Prima valoare diferita de valoarea data
36. Care din urmatoarele afirmatii referitoare la arborele orientat sunt adevarate?
1) graful support este conex
2) graful support este acyclic
3) este graf asimetric
4) este graf simetric
5) este arbore directionat cu radacina
6) este arbore directionat fara radacina
a) toate
b) 1,2,3,5
c) 1,2,3,6
d) 1,2,4,5
e) 6