diff --git a/README.md b/README.md index 60f2bb630bdd431e22da1dffb87d81da17baaa69..dd2e18a179b48e86f453486aff9578430f596f54 100644 --- a/README.md +++ b/README.md @@ -138,7 +138,7 @@ endstruc ### CerinČa -Vi se cere sÄ implementaČi funcČia `dfs()` din fiČierul `dfs.asm`, care are urmÄtoarea semnÄturÄ: +Vi se cere sÄ implementaČi **recursiv** funcČia `dfs()` din fiČierul `dfs.asm`, care are urmÄtoarea semnÄturÄ: ```c void dfs(uint32_t node, neighbours_t *(*expand)(uint32_t node)); @@ -146,8 +146,14 @@ void dfs(uint32_t node, neighbours_t *(*expand)(uint32_t node)); Aceasta primeČte ca parametru nodul sursÄ Či adresa funcČiei `expand` Či se cere sÄ implementaČi algoritmul de dfs Či sÄ printaČi nodurile ĂŽn momentul ĂŽn care le viziaČi. -Printarea se va realiza prin apelara funcČiei `printf`. Se depuncteazÄ folosirea macro-ului `PRINTF32`. -Implementarea trebuie sÄ fie recursivÄ, **NU** iterativÄ. +Printarea se va realiza prin apelara funcČiei `printf`. + +### Depunctari + +| Descriere | Depunctare | +| --- | --- | +| Folosire macro PRINTF32 | -10p | +| SoluČie nerecursivÄ | -30p | ## Bonus @@ -165,40 +171,45 @@ pe 64 de biČi. StiČi de la ## Map Antet map: + ```c void map(int64_t *destination_array, int64_t *source_array, int64_t array_size, int64_t(*f)(int64_t)); ``` Antet functie ce poate fi folosita pentru map: + ```c int64_t map_func1(int64_t curr_elem); ``` Pseudocod map: -``` + +```text map(dst, src, n, to_apply): - for i de la 0 la n: - dst[i] = to_apply(src[i]) + for i de la 0 la n: + dst[i] = to_apply(src[i]) ``` ## Reduce Antet reduce: + ```c int64_t reduce(int64_t *destination_array, int64_t *source_array, int64_t array_size, int64_t accumulator_initial_value, int64_t(*f)(int64_t, int64_t)); ``` Antet functie ce poate fi folosita pentru reduce: + ```c int64_t reduce_func1(int64_t accumulator, int64_t current_elem); ``` Pseudocod reduce: -``` + +```text reduce(src, n, accumulator_initial, to_apply): - acc = accumulator_initial - for i de la 0 la n: - acc = to_apply(acc, src[i]) - return acc + acc = accumulator_initial + for i de la 0 la n: + acc = to_apply(acc, src[i]) + return acc ``` -