1. Fie $math[M] o masina Turing care **nu contine stari finale** si $math[f] o problema acceptata de $math[M]. Care afirmatii sunt adevarate: * $math[f \in RE] * $math[f \in R] * $math[f \in RE\setminus R] * $math[\exists w. f(w) = 0] * $math[\exists w. f(w) = 1] 2. Fie $math[g] o problema NP-dura si $math[f \in P], astfel incat $math[g \leq_p f]. Care afirmatii sunt adevarate? * $math[g \in P] * $math[g] este NP-completa. * $math[g] este decidabila. * $math[f] este NP-completa. 3. Dati un exemplu de **algoritm** care are timpul de executie in $math[\omega(n)]. 4. Care este complexitatea unui algoritm care simuleaza executia unei masini Turing $math[M] pe un cuvant $math[w], pentru 100 de pasi? 5. Care este complexitatea simularii urmatoarei proceduri: def f(l): x = choice(l) s = x for i in range(0,len(l)): s = s + l[i] 6. Care este diferenta intre un constructor de baza si un operator al unui TDA? Folositi un exemplu pentru a ilustra raspunsul.