Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sd-ca:laboratoare:lab-11 [2022/05/17 17:00]
radu_stefan.minea [Ștergere]
sd-ca:laboratoare:lab-11 [2025/05/12 13:52] (current)
andreea.peiu [Laborator 9 - Arbori generici. Trie]
Line 1: Line 1:
-====== Laborator ​11 - Arbori ​generci. Trie ======+====== Laborator ​- Arbori ​generici. Trie ======
  
 Responsabili Responsabili
-  * [[mailto:mitapirvuet@gmail.com|Mihai Pirvulet]] +  * [[mailto:andreeapeiu2005@gmail.com|Peiu Andreea]] 
-  * [[mailto:radustefanminea@gmail.com|Radu Minea]]+  * [[mailto:marina@oprea.eu|Oprea Marina]]
  
 ===== Obiective ===== ===== Obiective =====
Line 184: Line 184:
 Să facem o scurtă trecere prin cele 3 operații din desen: Să facem o scurtă trecere prin cele 3 operații din desen:
   - "​aa":​ ”aa” reprezintă un cuvânt (are end_of_word = true), însă are copii (”aa”->​n_children > 0), adică reprezintă un prefix pentru alte cuvinte inserate anterior in Trie. Astfel, pur și simplu flag-ul de end_of_word de pe nodul ”aa” este trecut la false.   - "​aa":​ ”aa” reprezintă un cuvânt (are end_of_word = true), însă are copii (”aa”->​n_children > 0), adică reprezintă un prefix pentru alte cuvinte inserate anterior in Trie. Astfel, pur și simplu flag-ul de end_of_word de pe nodul ”aa” este trecut la false.
-  - "​aacx":​ ”aacx” reprezintă un cuvânt, și nu are copii, deci se vor șterge nodurile recursiv, de jos în sus - de la ”x” până la primul nod întâlnit (iarăși, de jos în sus, întrucât revenim din recursivitate) ce are copii (cel de-al doilea ”a” din ”aacx”.+  - "​aacx":​ ”aacx” reprezintă un cuvânt, și nu are copii, deci se vor șterge nodurile recursiv, de jos în sus - de la ”x” până la primul nod întâlnit (iarăși, de jos în sus, întrucât revenim din recursivitate) ce are copii (cel de-al doilea ”a” din ”aacx”) sau are end_of_word = true.
   - "​aab":​ similar ca mai sus.   - "​aab":​ similar ca mai sus.
  
Line 201: Line 201:
         ​         ​
         // remove was called on a key that doesn'​t exist         // remove was called on a key that doesn'​t exist
-        return ​0+        return ​false
   ​   ​
     nextNode = child corresponding to the first letter of the key     nextNode = child corresponding to the first letter of the key
Line 220: Line 220:
 <note important>​Observati ca functiile primesc ca si parametru o structura de tip **trie_node_t**,​ nu **trie_t**. Deci, pseudocodul de mai sus va trebui implementat in niste functii helper. Motivul pentru care acestea nu sunt incluse in schelet este acela ca puteti implementa **iterativ** daca doriti, fara sa mai fie nevoie de helpere.</​note>​ <note important>​Observati ca functiile primesc ca si parametru o structura de tip **trie_node_t**,​ nu **trie_t**. Deci, pseudocodul de mai sus va trebui implementat in niste functii helper. Motivul pentru care acestea nu sunt incluse in schelet este acela ca puteti implementa **iterativ** daca doriti, fara sa mai fie nevoie de helpere.</​note>​
  
-===== Schelet ===== 
  
-{{:​sd-ca:​laboratoare:​lab11_2022_v2.zip|Scheletul de laborator}} 
 ===== Exerciții ===== ===== Exerciții =====
  
 <​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/​42 |SD-CA-LAB-11-Trie]]**+Trebuie să vă creați cont de [[https://code.devmind.ro ​Devmind]], dacă nu v-ați creat deja, pe care îl veți folosi la SD pe toată durata semestrului.
 </​note>​ </​note>​
  
sd-ca/laboratoare/lab-11.1652796058.txt.gz · Last modified: 2022/05/17 17:00 by radu_stefan.minea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0