Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz Lacces #5479 üzenetére

    A lényegre a többiek már reagáltak. Még annyit, hogy a rekurziótól nem feltétlenül hozzá nem értésből, vagy gonoszságból "féltenek", hanem sokszor hatékonysági szempontok miatt. A Fibonacci-számok kiszámoltatását is meg lehet oldani többféleképpen, a "klasszikus", rövid kódot eredményező rekurzív számolás viszont mégis kevésbé hatékony, mint az iteratív, abban az értelemben, hogy többször számoltatsz ki már korábban is kiszámolt műveleteket.
    De most látom, Wikipédián röviden és tömören összefoglalják erről a lényeget:
    "A rekurzív programozás hátránya a nagy erőforrásigény, különösen rosszul szervezett, vagy kaszkádszerű rekurziók esetén, ugyanis ekkor újra és újra ki kell számítani ugyanazt. A hívás akár meg is szakadhat, vagy abnormális eredmény keletkezhet az erőforrással kapcsolatos gondok miatt. Egyes esetekben holtpontra is juthat a program. Ugyanakkor ez a módszer hatékony is lehet, amit a funkcionális programozás is mutat, ahol az iterációkat rekurzív függvényhívással oldják meg."

    Nem attól kell tehát eldobnod az agyadat, ha a tanáraid felhívják a figyelmedet arra, hogy többféle megoldás is létezik, és mielőtt a rekurzív megoldáshoz folyamodnál, gondold át még egyszer, biztos jó lesz-e az úgy, nem eredményez-e túl nagy erőforrásigényt.
    A hozzá nem értés, a rég elavult ismeretek átadása, ódivatú nyelvek, fejlesztőeszközök erőltetése viszont sajnos a mai napig jellemző tendencia a középiskolákban és egyetemeken is, de szerencsére sok kivétel akad. Ettől függetlenül nem igaz nagy általánosságban, hogy "az egyetem rákényszerít" csúnya kód írására...
    Ja, és még egy nagyon fontos tényező: NEM attól lesz szép, áttekinthető és egyben hatékony egy kód, hogy csupán rövid, pársoros utasításokból áll!!!
    Nagyon könnyen lehet 20 soros szép kódot írni egy rövid 5 soros összegányolt szarral szemben is.

Új hozzászólás Aktív témák