Sunteți pe pagina 1din 4

Exemple pentru antrenament individual.

Algoritmi si Logica
Programarii.

1. Se dă următoarea lista de valori numerice: 7, 20, 15, 45, 6,


7, 23, 24, -5, 19.
a. Descrieti in mod detaliat metoda bubble-sort
(rationament + etape), implementati in Java algoritmul
si prezentati evolutia valorilor listei de mai sus pentru
primele 4 iteratii.
b. Descrieti in mod detaliat metoda select-sort
(rationament + etape), implementati in Java algoritmul
si prezentati evolutia valorilor listei de mai sus pentru
primele 4 iteratii.
c. Descrieti in mod detaliat metoda insert-sort
(rationament + etape), implementati in Java algoritmul
si prezentati evolutia valorilor listei de mai sus pentru
primele 4 iteratii.
d. Descrieti in mod detaliat metoda quicksort
(rationament + etape), implementati in Java algoritmul
si prezentati evolutia valorilor listei de mai sus pentru
primele 4 iteratii.
e. Descrieti in mod detaliat metoda merge-sort
(rationament + etape), implementati in Java algoritmul
si prezentati evolutia valorilor listei de mai sus pentru
primele 4 iteratii.
2. Pentru fiecare dintre punctele 1a, ..., 1e calculati si descrieti
complexitatea algoritmului pe care l-ati implementat.
3. Se dă următoarea lista de valori numerice: 7, 20, 15, 45, 6,
7, 23, 24, -5, 19.
a. Descrieti in mod detaliat algoritmul de cautare
secventiala, implementati in Java algoritmul si
prezentati evolutia primelor 3 iteratii ale algoritmului.
b. Descrieti in mod detaliat algoritmul de cautare divide-
et-impera (maniera secventiala), implementati in Java
algoritmul si prezentati evolutia primelor 3 iteratii ale
algoritmului in cazul in care valorile de la pct. 3 ar fi
aprioric sortate crescator.
c. Descrieti in mod detaliat algoritmul de cautare divide-
et-impera (maniera recursiva), implementati in Java
algoritmul si prezentati evolutia primelor 3 iteratii ale
algoritmului in cazul in care valorile de la pct. 3 ar fi
aprioric sortate crescator.
d. Desenati un arbore binar de cautare pentru valorile de
la pct. 3 (radacina este nodul cu valoarea 20). Definiti
o functie recursiva de cautare in arbori binari si
prezentati evolutia stivei pentru apelul cautare(15).
4. Implementati in Java in mod recursiv o functie pentru
calculul sumei numerelor naturale pare mai mici decat un N
dat. Prezentati evolutia valorilor din stiva pentru primele 3
apeluri in cazul in care N=20.
5. Implementati in Java in mod recursiv o functie pentru
calculul sirului lui Fibonacci. Prezentati evolutia primelor 3
niveluri din stiva pentru N=5.
6. Fiind data o suma S si n monede de valori date, sa se
determine toate posibilitatile de plata a sumei S cu aceste
monede. Implementati rezolvarea in Java prin metoda
backtracking. Prezentati evolutia valorilor principale din
algoritm pentru primele 4 etape de rulare ale algoritmului
in cazul in care S=20 si m1=5 lei, m2=3 lei, m3=1 leu. Din
fiecare tip de moneda (m) sunt sunt disponibile cate 5 fise.
7. Definiti un vector in care aveti N valori diferite.
Implementati in Java un program care sa afiseze toate
permutarile acelei multimi, prin metoda backtracking.

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