1. možnosť (klasické riešenie).
Klasické rekurzívne riešenie vychádza priamo zo zadania úlohy.

2. možnosť (efektívnejšia verzia).
Použije sa viacero funkcií a pomocný parameter.

V našom prípade sme zvolili pomocný parameter v ktorom budeme ukladať vždy už vypočítané výsledky funkcie fib, aby sme ich mohli v prípade potreby znova použiť a nemuseli ich znovu počítať. Tak budeme počítať každú fib(x) pre dané x len raz.
Parameter má formát ((x1 hodnota1)(x2 hodnota2)...(xn hodnotan)), pričom vždy platí hodnota=fib(x). Pri našej imlementacií 2., sme okrem hlavnej funkcie (fib) použili funkciu na vyhľadávanie (isin), funciu na vlastné generovanie zoznamu výsledkov (zfib) a funkciu na pridanie nového prvku (novy), ktorá predpokladá, že všetky ostatné potrebné prvky sú už v aktuálnom zozname azoz.
(Fib používa isin a zfib, zfib používa novy a isin, novy používa isin.)


Autori[ ZADANIE | AKO ZAČAŤ | RIEŠENIE ]
Posledná aktualizácia 4. 9. 2001
back  home  next