This shows you the differences between two versions of the page.
|
pp:21:laboratoare:racket:recursivitate [2021/03/08 11:37] mihaela.balint [Recursivitate arborescentă] |
pp:21:laboratoare:racket:recursivitate [2021/03/11 09:45] (current) bot.pp |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| * Data publicării: 08.03.2021 | * Data publicării: 08.03.2021 | ||
| - | * Data ultimei modificări: 08.03.2021 | + | * Data ultimei modificări: 11.03.2021 |
| ===== Obiective ===== | ===== Obiective ===== | ||
| Line 78: | Line 78: | ||
| ==== Recursivitate arborescentă ==== | ==== Recursivitate arborescentă ==== | ||
| - | Recursivitatea arborescentă apare în cazul funcțiilor care conțin, în implementare, un caz (sau mai multe) care lansează cel puțin două apeluri recursive. | + | Recursivitatea arborescentă apare în cazul funcțiilor care conțin, în implementare, cel puțin două apeluri recursive care se execută necondiționat. |
| === Exemplu === | === Exemplu === | ||
| Line 92: | Line 92: | ||
| {{ 19:laboratoare:racket:fibonacci.png }} | {{ 19:laboratoare:racket:fibonacci.png }} | ||
| - | Se poate observa **ineficiența** implementării cu recursivitate arborescentă, atât din punct de vedere **temporal** (datorată **apelurilor duplicate**, precum apelul funcției pentru n = 3), cât și din punct de vedere **spațial** (datorată **stocării de "stack frames"** necesare pentru revenirea din recursivitate). | + | Se poate observa **ineficiența** implementării recursive pe stivă, atât din punct de vedere **temporal** (datorată **apelurilor duplicate**, precum apelul funcției pentru n = 3), cât și din punct de vedere **spațial** (datorată **stocării de "stack frames"** necesare pentru revenirea din recursivitate). |
| - | În cadrul [[#Resurse|exercițiilor rezolvate]] puteți observa mai în detaliu diferențele dintre recursivitatea pe stivă și cea pe coadă (inclusiv în contextul funcției //fib//). | + | În cadrul [[#Resurse|exercițiilor rezolvate]] puteți observa mai în detaliu diferențele dintre recursivitatea pe stivă si cea pe coada (inclusiv în contextul funcției //fib//). |
| ===== Resurse ===== | ===== Resurse ===== | ||