This shows you the differences between two versions of the page.
sd-ca:laboratoare:lab-08 [2022/04/28 00:02] mihai.pirvulet |
sd-ca:laboratoare:lab-08 [2024/04/26 03:05] (current) radu.nichita [Exerciții] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Laborator 8 - Arbori Binari ====== | ====== Laborator 8 - Arbori Binari ====== | ||
- | Responsabili | + | Responsabili: |
- | * [[mailto:mitapirvuet@gmail.com|Mihai Pirvulet]] | + | * [[mailto:popaiarina13@gmail.com|Iarina-Ioana Popa]] |
- | * [[mailto:radustefanminea@gmail.com|Radu Minea]] | + | * [[mailto:andreipirlea03@gmail.com|Andrei Pîrlea]] |
===== Obiective ===== | ===== Obiective ===== | ||
Line 61: | Line 61: | ||
Structura nodului de mai sus este clară: | Structura nodului de mai sus este clară: | ||
- | *pointer către fiul stâng | + | * pointer către fiul stâng |
- | *pointer către fiul drept | + | * pointer către fiul drept |
- | *pointer către date | + | * pointer către date |
Pentru a ne reaminti cum alocăm/dealocăm memorie: | Pentru a ne reaminti cum alocăm/dealocăm memorie: | ||
Line 105: | Line 105: | ||
Exemplu: | Exemplu: | ||
<code c> | <code c> | ||
- | static void __b_tree_print_inorder(b_node_t *b_node, void (*print_data)(void *)) | + | void b_tree_print_inorder(b_node_t *b_node, void (*print_data)(void *)) { |
- | { | + | if (!b_node) |
- | if (!b_node) | + | return; |
- | return; | + | |
- | /* TODO */ | + | b_tree_print_inorder(b_node->left, print_data); |
- | __b_tree_print_inorder(b_node->left, print_data); | + | print_data(b_node->data); |
- | + | b_tree_print_inorder(b_node->right, print_data); | |
- | print_data(b_node->data); | + | |
- | + | ||
- | __b_tree_print_inorder(b_node->right, print_data); | + | |
- | } | + | |
- | + | ||
- | void b_tree_print_inorder(b_tree_t *b_tree, void (*print_data)(void *)) | + | |
- | { | + | |
- | __b_tree_print_inorder(b_tree->root, print_data); | + | |
- | printf("\n"); | + | |
} | } | ||
</code> | </code> | ||
Line 202: | Line 192: | ||
<note> | <note> | ||
- | 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://lambdachecker.io/contest/39 |SD-CA-LAB-08-BinaryTree]]** | + | 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/75/problems |Laborator 8 SD]]** |
</note> | </note> | ||
Line 209: | Line 199: | ||
2) [**3p**] O problema **aleasa de catre asistent** din cele ramase. | 2) [**3p**] O problema **aleasa de catre asistent** din cele ramase. | ||
- | 3) [**Bonus**] 1p bonus pe fiecare problema in plus pe care o rezolvati, cu un maxim de 12p per laborator. | + | 3) [**Bonus**] 1p bonus pe fiecare problema (easy sau medium) in plus pe care o rezolvati, maxim 2p bonus pentru o problema **easy** si una **medium** sau 2 **medium**. |
===== Interviu ===== | ===== Interviu ===== |