Sunteți pe pagina 1din 2

UNIVERSITATEA DIN BUCURESTI

FACULTATEA DE MATEMATIC SI INFORMATIC


DOMENIUL INFORMATIC
SESIUNEA IULIE 2013


Proba scris
pentru admiterea la examenul de MASTERAT


Subiectul 1
a) Se d un arbore binar de cutare cu cel puin 3 elemente (numere ntregi). Elaborai un
algoritm care afieaz cel mai mare, al doilea i al treilea element stocate n aceast structur de
date.
b) Se d un ansamblu (max-heap, max-ansamblu) n reprezentarea implicit (reprezentarea
secvenial) ntr-un vector. Acest ansamblu conine n>3 elemente numere ntregi distincte.
Elaborai un algoritm care ntr-un numr optim de pai afieaz cele mai mari 3 elemente i cele
mai mici 3 elemente din ansamblu.
c) Se dau doi vectori care modeleaz mulimi de numere naturale (n nici unul dintre vectori
nu avem dubluri). Elaborai un algoritm care ntr-un numr optim de pai construiete vectorul
pentru reuniunea i intersecia celor dou mulimi.

Exemplu:
Date de intrare Date de ieire
A = [4, 7, 10, 3, 1, 9], B = [2, 3, 1, 7, 5, 8, 4] Reuniune = [4, 7, 10, 3, 1, 9, 2, 5, 8], Intersecie = [4, 7, 3, 1]

Subiectul 2
Se d un tablou unidimensional de numere naturale care nu se repet.
Elaborai un algoritm cu o complexitate ct mai bun care s elimine un numr minim de
elemente astfel nct, n subirul rezultat din aceste eliminri, s fie ndeplinit urmtoarea
condiie: orice element s aib n stnga sau n dreapta lui doar elemente mai mici dect el. Se
consider c primul i ultimul element (neavnd elemente n stnga, respectiv n dreapta) satisfac
implicit aceast cerin. Dac exist mai multe soluii, se va afia una dintre ele (se afieaz
elementele rmase).

Exemplu:
Date de intrare Date de ieire
19 18 13 20 14 10 21 22 19 20 14 10

Subiectul 3
Fie n un numr natural ntre 1 si 10000.
Elaborai un algoritm cu o complexitate ct mai bun care, primind la intrare n, s afieze
numrul de cifre de 1 al celui mai mic multiplu al lui n care este format numai din cifra 1. Pentru
un n pentru care problema nu admite soluie se va afia 0.

Exemplu:
Date de intrare Date de ieire
3 3
4 0
7 6
Atenie: multiplul format doar din cifra 1 poate fi un numr mult mai mare dect
maximul admis de orice tip numeric.

Subiectul 4
Se consider o tabl de ah de dimensiuni n x m (n numrul de linii, m numrul de
coloane). n fiecare careu al tablei este plasat cte un obiect, fiecare cu o anumit valoare (numr
natural). Pe tabl se deplaseaz un robot astfel: pornete de pe prima coloan, de pe o linie dat i
0

i se poate deplasa de pe coloana pe care se afl doar pe coloana urmtoare, n una dintre
poziiile vecine (orizontal, pe diagonal n sus sau pe diagonal n jos). La parcurgerea unei
celule robotul adun obiectul din celul.
Elaborai un algoritm cu o complexitate ct mai bun care s determine un traseu al
robotului, pornind din celula (i
0
, 1) pn la o celul de pe ultima coloan, (k,m), 1kn, astfel
nct valoarea total a obiectelor adunate s fie maxim. Datele de intrare (n, m, i
0
, matricea) se
citesc dintr-un fiier. Se vor afia: suma maxim i traseul parcurs pentru a o obine n formatul
(l, c, v) unde l reprezint linia, c coloana i v valoarea aflat n celula (l,c).

Exemplu
Date de intrare Date de ieire
n = 4, m = 5, i
0
= 2
1 5 2 4 6
2 0 3 5 2
3 6 4 4 4
4 2 3 7 5
Suma maxim este: 24
Traseul parcurs este: (2,1,2),(3,2,6),(3,3,4),(4,4,7),(4,5,5)

Observaii

Subiectele se vor rezolva ntr-un limbaj de programare studiat n facultate (C/C++/Java). Pentru
fiecare soluie se vor argumenta corectitudinea i complexitatea timp a algoritmilor folosii i se
vor explica informal algoritmii i detaliile de implementare sub form de program: variabile,
structuri de date, structuri iterative, instruciuni condiionale. Punctajul se va acorda difereniat,
n funcie de complexitate gsit, n raport cu cea optim (se vor acorda punctaje pariale).

Se vor trata 2 subiecte, la alegere, pe coli separate.
Timp de lucru: 3 ore.

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