REKURSIOON - Recursion
Rekursioon: magasini kasutamisnäide
On teada, et alamprogrammi rekursiivsetel väljakutsetel loodavad lokaalmuutujate
pôlvkonnad paigutatakse pinudesse ja need hävitatakse tagasipöördumistel
alamprogrammist. Järgnevas vaatleme pinumehhanismi lähemalt. Me teeme seda lihtsa
alamprogrammi -- rekursiivse faktoriaalfunktsiooni näitel. Rekursiooni käsitlust
alustame üldisemast.
Rekursiivsed definitsioonid ja algoritmid
Rekursiivsel defineerimisel määratletakse defineeritav objekt (suurus) iseenda
"lihtsama" ("väiksemamastaabilise") eksemplari kaudu. Selline definitsioon määrab
protsessi. Selleks, et protsess oleks lôplik, peab definitsioonis esinema lihtne mitterekur-
siivne erijuht.
Faktoriaalfunktsiooni rekursiivse definitsiooni vôime anda järgmisena:
1, kui n = 0,
n! =
n*(n - 1)!, kui n > 0
Mitterekursiivseks erijuhuks on siin 0! = 1. Protsess n! leidmiseks kajastub n = 4 puhul