Tehnici de proiectarea !i analiza algoritmilor Test scris 05.02.13 Observa!ii: 1. Nu este permis! consultarea bibliografiei. 2. Toate ntreb!rile sunt obligatorii. 3. Fiecare ntrebare este notat! cu un num!r de puncte indicat n parantez!. Alegerea corect! a variantei la ntreb!rile grila se puncteaz! numai dac! justificarea este total sau par"ial corect!. 4. Nu este permis! utilizarea de foi suplimentare. !" (1p) ln care condl(ll un arbore blnar lndepllnesLe condlLllle unul 2-3-arbore? !usLlflca(l rspunsul. $%&'()&"
*" (1.3p) S! se explice cum se realizeaz! opera#ia de inserare a unui nod ntr-un arbore bicolor ce memoreaz! deja $apte chei $i are n!l#ime minim!.
$%&'()&".
+" (1.3p) Care este func#ia de salt n algoritmul Boyer-Moore pentru $ablonul (patternul) marar. Da#i un exemplu de subiect de lungime cel pu#in zece litere pentru care algoritmul face num!r minim de compara#ii, pentru patternul de mai sus. Justifica#i de ce e minim. $%&'()&"
- 2 -
," (2p) S se descrle un algorlLm dlvlde-eL-lmpera care cauL un elemenL daL inLr-o maLrlce daL in care elemenLele sunL ordonaLe crescLor aLL pe llnle cL sl pe coloan. !usLlflca(l corecLlLudlnea algorlLmulul. ueLermlna(l Llmpul de execu(le in cazul cel mal nefavorabll. Lxempllflca(l execu(la pe maLrlcea: ! ! ! ! ! ! " # $ $ $ $ $ $ % & 9 8 7 6 5 8 7 6 5 4 7 6 5 4 3 6 5 4 3 2 5 4 3 2 1
$%&'()&"
-" (1.3p) Se conslder urmLoarea lnsLan( a problemel rucsaculul, varlanLa 0/1: capaclaLLe (M) = 80, proflL (p) = (36, 78, 44), greuLaLe (w) = (30, 60, 40). a) S se araLe algorlLmul ,greedy" de la varlanLa conLlnu nu d solu(la opLlm. b) S se preclzeze rela(la de recuren( sl s se consLrulasc Labelul valorllor calculaL prln paradlgma programare dlnamlc. c) S se exLrag solu(la opLlm dln Label. $%&'()&"
- 3 -
." (2p) Se conslder urmLoarea problem, noLaL cu : !"#$%$&: paLru numere inLregl pozlLlve d c b a , , , , '"#$&(%$&: exlsL un numr inLreg y asLfel incL d y < ! 0 sl 0 % ) ( 2 = ! " c b y a ? Cpera(la v u % reprezlnL resLul impr(lrll inLregl lul u la v . a) S se araLe c esLe n-compleL. lndlca(le: se poaLe uLlllza rela(la lul cu Congruen(e pLraLlce. b) S se scrle un algorlLm deLermlnlsL care rezolv . S se deLermlne Llmpul de execu(le in cazul cel mal nefavorabll algorlLmulul, lund ca dlmenslune a lnsLan(el n =[log 2 d] , unde ] [u reprezlnL parLea inLreag a lul u . Se va preclza care esLe cazul cel mal nefavorabll. c) S se scrle un algorlLm nedeLermlnlsL care rezolv . S se deLermlne Llmpul de execu(le in cazul cel mal nefavorabll algorlLmulul. Se va consldera aceeasl dlmenslune a lnsLan(el ca la b. d) Cum se poaLe reduce la o problem de mlnlm? $%&'()&"