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 |