This shows you the differences between two versions of the page.
sd-ca:2017:laboratoare:lab-08 [2018/01/12 15:07] cristian.creteanu [Exerciții] |
sd-ca:2017:laboratoare:lab-08 [2018/02/19 15:31] (current) cosmin_ioan.petrisor [Exerciții] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Lab 8 - Arbori si Arbori Binari ====== | ====== Lab 8 - Arbori si Arbori Binari ====== | ||
- | * Responsabil: [[mailto:cristiancreteanu06@gmail.com | Cristian Crețeanu]] | ||
- | * Data ultimei modificări: 12.01.2018 | ||
===== Obiective ===== | ===== Obiective ===== | ||
Line 155: | Line 153: | ||
</code> | </code> | ||
- | ==== Cel mai mic strămoș comun ==== | ||
- | O problemă importantă în analiza arborilor este determinarea celui mai mic strămoș comun (LCA - Lowest Common Ancestor). LCA-ul a două noduri, u si v, este nodul cel mai depărtat de rădăcină care îi are pe u și v ca descendenți. | ||
- | |||
- | {{ :sd-ca:2017:laboratoare:diagram1-2.png?200 |}} | ||
- | |||
- | Spre exemplu, cel mai mic straăoș comun al nodurilor 1 și 12 este 0, în timp ce pentru nodurile 4 și 7, acesta este 1. | ||
===== Exerciții ===== | ===== Exerciții ===== | ||
+ | <hidden> | ||
Acest laborator se va realiza pornind de la **{{:sd-ca:laboratoare:labbinarytree-tasks.zip|scheletul de cod}}**. | Acest laborator se va realiza pornind de la **{{:sd-ca:laboratoare:labbinarytree-tasks.zip|scheletul de cod}}**. | ||
Line 201: | Line 194: | ||
Folosiţi-vă de proprietăţile de bază ale unui arbore (datele pe care le puteţi obţine de la subarborele stâng / drept). | Folosiţi-vă de proprietăţile de bază ale unui arbore (datele pe care le puteţi obţine de la subarborele stâng / drept). | ||
</note> | </note> | ||
- | |||
- | **BONUS** | ||
- | |||
- | 3. [**4p**] Implementați (și **compilați!**) următoarele funcții pentru un arbore binar: | ||
- | * [**2p**] (BinaryTree.h) Implementați una dintre cele 3 funcții: top/bottom/side view. | ||
- | * [**2p**] (BinaryTree.h) Verificați dacă doi arbori sunt identici/simetrici. | ||
Line 223: | Line 210: | ||
Pentru evaluarea expresiei, de fiecare dată când intâlniți o variabilă, vedeți ce valoare îi este atribuită în hashtable și folosiți acea valoare pentru evaluarea expresiei. | Pentru evaluarea expresiei, de fiecare dată când intâlniți o variabilă, vedeți ce valoare îi este atribuită în hashtable și folosiți acea valoare pentru evaluarea expresiei. | ||
- | <hidden> | ||
Acest laborator se va realiza pornind de la **{{:sd-ca:laboratoare:labbinarytree-tasks.zip|scheletul de cod}}**. | Acest laborator se va realiza pornind de la **{{:sd-ca:laboratoare:labbinarytree-tasks.zip|scheletul de cod}}**. | ||