Oddiy rekursiya
Eslatib o'tamiz, rekursiv protseduralar o'zlarini chaqiradigan protseduralardir. Ularning qiyinligini aniqlash juda qiyin. Ushbu algoritmlarning murakkabligi nafaqat ichki pastadirlarning murakkabligiga, balki rekursionning takrorlanish soniga
bog'liq. Rekursiv protsedura etarlicha sodda ko'rinishi mumkin, ammo dasturni qayta- qayta chaqirib, dasturni jiddiy ravishda murakkablashtirishi mumkin.
Faktorial hisoblashning rekursiv amalga oshirilishini ko'rib chiqing: Ushbu protsedura N marta bajariladi, shuning uchun ushbu algoritmning hisoblash murakkabligi O (N) dir.
function Factorial(n: Word): integer; begin
if n > 1 then Factorial:=n*Factorial(n-1) else
Factorial:=1; end;
Do'stlaringiz bilan baham: |