Tiedän että funktionaalisessa ohjelmoinnissa käytetään paljon rekursiivistä ohjelmointitapaa mutta yhtenä esimerkkisivuna
https://wiki.freepascal.org/Fibonacci_number/fi
mainitaan tai annetaan se vaikutelma että iteratiivinen toteutus on parempi.
funktionaalisesta ohjelmoinnista
4
118
Vastaukset
- Anonyymi
Tämä sinun kyseenalaistaminen ontuu pahasti. Viestisi voi tiivistää sanoihin:
Päivällä ihminen näkee paremmin kuin yöllä.
On itsestään selvyys, että kun funktio kutsuu itseään, tulee rajat vastaan nopeasti, ja sen vuoksi itseään kutsuvia funktioita voidaan käyttää vain kun tunnetaan ja tiedetään vaadittava resurssi tarve voidaan tyydyttää.Ne rajat tulee vastaan työkaluissa missä on hyvin rajallinen pinomuisti mikä hupenee rekursiossa. Näissä tarvitsee laskea mikä on pahin mahdollinen tilanne mikä rekursiolla tulee, että ei pino ei vuoda yli ja tarvittaessa muuntaa ongelmalliset kohdat iteratiivisiksi.
Funktionaalisella toteutuksella välttää sivuvaikutukset mikä estää tehokkaasti bugeja ja mahdollistaa koodin ajamisen rinnakkain useassa säikeessä eri CPU ytimillä.
Sitä voi siis valita paremmat työkalut.
- Anonyymi
Tuolla on laskettu Fibonaccia niin että tuloksia otetaan mappiin talteen ja aina ensiksi tarkistetaan löytyykö sieltä.
https://en.wikipedia.org/wiki/Dynamic_programming
https://www.youtube.com/watch?v=OQ5jsbhAv_M- Anonyymi
En tuosta mitään ymmärrä ensi katselemalla,
https://gist.github.com/YoEight/9710441
Mutta tuohon linkki oli tästä
https://www.reddit.com/r/compsci/comments/2cia77/how_does_pure_functional_programming_do_dynamic/
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 406983
- 323948
- 453330
- 402939
- 172716
- 372238
- 162196
- 412143
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons482077- 402048