Sunteți pe pagina 1din 1

1.

Diferenta dintre arborii binari de cautare si arborii rosu negru

Un arbore rosu-negru este un arbore binar de cautare care are un bit suplimentar
pentru memorarea fiecarui nod: culoarea acestuia, care poate fi rosu sau negru.
Prin restrngerea modului n care se coloreaza nodurile pe orice drum de la
radacina la o frunza, arborii rosu-negru garanteaza ca nici un astfel de drum nu
este mai lung dect dublul lungimii oricarui alt drum, deci ca arborele este
aproximativ echilibrat.
Un arbore binar de cautare este arbore rosu-negru daca el ndeplineste urmatoarele
proprietai rosu-negru:
1. Fiecare nod este fie rosu, fie negru.
2. Fiecare frunza (nil) este neagra.
3. Daca un nod este rosu, atunci ambii fii ai sai sunt negri.
4. Fiecare drum simplu de la un nod la un descendent care este frunza conine
acelasi numar
de noduri negre.

2. Rolul santinelei in listele inlantuite


3. Ce este un alg deterministic, nedeterministic, determinacy race.exemplu
determinacy race
4. Ce este componenta tare conexa si arborele de acoperire minim
5. Care sunt principiile programarii dinamice.care sunt cele 2 abordari?
http://www.lbi.ro/~oana/10%20E%20info/algoritmi%20programare%20dinamica.pdf

6. Care sunt principiile si in ce conditii se aplica metoda divide&conquer?


7. Definiti in mod formal problema drumurilor de cale minima, prezentati ideea unui
algoritm generic de rezolvare a acestei probleme, arati cum se particularizeaza
algoritmul generic in unul din algoritmii Bellman Ford, Djistra

8. Furnizati o implementare paralela a metodei Quicksort

9.Furnizati un algoritm care calculeaza suma elementelor unui sir utilizand divide&
conquer

La practic: Aflati minimul si maximul dintr-un sir de elemente, folosind metoda


clasica, iar apoi prin Divide et Impera

Subiect Algoritmi si Structuri de Date

Teorie:
5 enunturi (parca) a cate 6-9 puncte in functie de complexitate de genul:
explicati programarea dinamica si cate tipuri exista,
diferenta dintre arbori binari si arbori rosiu-negru,
explicati Divide and Conquer,

2 enunturi de 20 de puncte:
Implementati QuickSort astfel incat sa poata fi paralelizata (multi-threading)
Insumarea unui sir de numere folosind metoda Divide and Conquer

Practica:
Implementati o lista dublu-inlantuita si oferiti urmatoarele functionalitati: Sa
se insereze un element nou pe pozitia p, sa se stearga un element de pe pozitia p,
sa se parcurca lista, sa se verifice daca este goala lista.

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