Sunteți pe pagina 1din 8

Daca am spus o data, aceasta

trebuie sa fie…

Recursia

1
Definitia Recursiei

Recursia are la baza prinicipiu asemanator cu


inductia matematica .

recursia, este un lucru care se defineste singur


pe el.

Noi putem define recursiv functiile, sirurile, si


multimile.

2
Sirul definit recursiv
Ex:

Secventa {an} a puterilor lui 2 este data


an = 2n pentru n = 0, 1, 2, … .

Dar putem scrie aceeas secventa recursiv:

a0 = 1
an+1 = 2an for n = 0, 1, 2, …

Deci, recursia si inductia se aseamana.

3
Definirea Functiei recursive
Putem folosi urmatoarele metode pentru a define
functia recursiv:

1. Specificam valoarea functiei la f(0).


2. Definim o regula pentru a gasi urmatoarele
valori ai functiei.
Functia definita recursiv
Example:

f(0) = 3
f(n + 1) = 2f(n) + 3
f(0) = 3
f(1) = 2f(0) + 3 = 23 + 3 = 9
f(2) = 2f(1) + 3 = 29 + 3 = 21
f(3) = 2f(2) + 3 = 221 + 3 = 45
f(4) = 2f(3) + 3 = 245 + 3 = 93

5
Functia definita recursiv
Cum putem define functia f(n) = n! recursiv ?

f(0) = 1
f(n + 1) = (n + 1)f(n)
f(0) = 1
f(1) = 1f(0) = 11 = 1
f(2) = 2f(1) = 21 = 2
f(3) = 3f(2) = 32 = 6
f(4) = 4f(3) = 46 = 24

6
Functiile definita recursiv
Exemplu faimos: Numerele Fibonacci
f(0) = 0, f(1) = 1
f(n) = f(n – 1) + f(n - 2)
f(0) = 0
f(1) = 1
f(2) = f(1) + f(0) = 1 + 0 = 1
f(3) = f(2) + f(1) = 1 + 1 = 2
f(4) = f(3) + f(2) = 2 + 1 = 3
f(5) = f(4) + f(3) = 3 + 2 = 5
f(6) = f(5) + f(4) = 5 + 3 = 8
7
Recursive Algorithms
Recursive Fibonacci Evaluation:

f(4)

f(3) f(2)

f(2)
f(1) f(1) f(0)

f(1) f(0)

S-ar putea să vă placă și