This shows you the differences between two versions of the page.
sd-ca:laboratoare:lab-10 [2020/04/28 20:09] dorin_andrei.geman [Noțiuni de bază despre AVL Trees] |
sd-ca:laboratoare:lab-10 [2024/05/16 14:31] (current) andrei.pirlea [Noțiuni de bază despre treapuri] |
||
---|---|---|---|
Line 2: | Line 2: | ||
Responsabili | Responsabili | ||
- | * [[mailto:topala.andrei@gmail.com|Andrei Topală]] | + | * [[alinichim49@gmail.com | Alin Ichim]] |
- | * [[mailto:doringeman@gmail.com|Dorin Geman]] | + | * [[andreipirlea03@gmail.com | Pîrlea Andrei]] |
===== Obiective ===== | ===== Obiective ===== | ||
În urma parcurgerii articolului, studentul va fi capabil să: | În urma parcurgerii articolului, studentul va fi capabil să: | ||
Line 9: | Line 10: | ||
* exemplifice acest concept pe structura de treap | * exemplifice acest concept pe structura de treap | ||
* implementeze operațiile de adăugare/ștergere a unui nod și rotiri | * implementeze operațiile de adăugare/ștergere a unui nod și rotiri | ||
- | * facă operații mai complexe și parcurgeri de trepuri | + | * facă operații mai complexe și parcurgeri de treapuri |
===== Noțiuni teoretice ===== | ===== Noțiuni teoretice ===== | ||
Line 38: | Line 39: | ||
</note> | </note> | ||
- | Demonstraţia teoretică asupra faptului că operațiile de bază au complexitatea O(logN) se poate găsi aici[0]. | + | Operațiile de bază au complexitatea O(logN). |
==== Structura unui nod ==== | ==== Structura unui nod ==== | ||
Line 188: | Line 189: | ||
Puteți urmări încă un exemplu [[https://www.gatevidyalay.com/avl-tree-avl-tree-example-avl-tree-rotation/|aici]]. | Puteți urmări încă un exemplu [[https://www.gatevidyalay.com/avl-tree-avl-tree-example-avl-tree-rotation/|aici]]. | ||
</hidden> | </hidden> | ||
+ | <hidden> | ||
===== Noțiuni de bază despre Red-Black Trees ===== | ===== Noțiuni de bază despre Red-Black Trees ===== | ||
Line 204: | Line 206: | ||
*Fiecare drum simplu de la un nod la un descendent care este frunza contine acelasi numar de noduri negre. | *Fiecare drum simplu de la un nod la un descendent care este frunza contine acelasi numar de noduri negre. | ||
- | {{:sd-ca:laboratoare:800px-Red-black_tree_example.svg.png?600 }} | + | </hidden> |
===== Schelet ===== | ===== Schelet ===== | ||
- | {{sd-ca:laboratoare:lab_10:lab_10_schelet.zip|Schelet}} | + | {{:sd-ca:laboratoare:lab10_2022.zip|Scheletul de laborator}} |
===== Exerciții ===== | ===== Exerciții ===== | ||
<note> | <note> | ||
- | Fiecare laborator va avea unul sau doua exerciții publice si un pool de subiecte ascunse, din care asistentul poate alege cum se formeaza celelalte puncte ale laboratorului. | + | Trebuie să vă creați cont de [[https://lambdachecker.io | Lambda Checker]], dacă nu v-ați creat deja, pe care îl veți folosi la SD pe toată durata semestrului. Aveti grija sa selectati contestul corect la submit, si anume **[[https://beta.lambdachecker.io/contest/38 |Laborator 10 SD - update]]** |
</note> | </note> | ||
- | 1) **[4.5p]** Implementați următoarele funcții de bază pentru un treap: | + | 1) **[5.5p]** Implementați următoarele funcții de bază pentru un treap: |
- | * [1p] Căutare | + | * Căutare |
- | * [2p] Rotiri stânga și dreapta | + | * Rotiri stânga și dreapta |
- | * [1.5p] Inserare | + | * Inserare |
- | + | ||
- | 2) **[1.5p]** Implementați și funcția de ștergere pentru un treap. | + | |
- | + | ||
- | 3) **[1p]** Realizați o parcurgere a treap-ului astfel încât să obțineți cheile sortate crescător/descrescător. | + | |
- | 4) **[1.5p]** Folosiți acest [[https://www.cs.usfca.edu/~galles/visualization/AVLtree.html|tool]] pentru a vizualiza cum funcționează un AVL. | + | 2) **[1.5p]** Realizați o parcurgere a treap-ului astfel încât să obțineți cheile sortate crescător/descrescător. |
- | 5) **[1.5p]** Folosiți acest [[https://www.cs.usfca.edu/~galles/visualization/RedBlack.html|tool]] pentru a vizualiza cum funcționează un Red-Black Tree | + | Ambele task-uri sunt verificate in unica problema din contest. |
- | Pentru exercițiile 4 și 5 introduceți datele din exemplul oferit în laborator și încercați să preziceți la fiecare pas care va fi următoarea configurație. | ||
===== Interviu ===== | ===== Interviu ===== |