A programozásban egy programmodul vagy szubrutin, amely meghívja magát egy iteratív művelet végrehajtására; más szóval, egy tiszta kifejezés megismétli önmagát, hogy sokkal összetettebb műveletet érjen el.
A rekurzió elvét Fibonacci számok illusztrálják, egy olyan számsor, amelyben az első két tag 1; Az egymást követő tagokat a két előző tag (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144 stb.) összegzésével adjuk meg. Fibonacci számok generálhatók a következő egyenlettel, amíg n nagyobb, mint 2: Fibonacci («) = Fibonacci (« – 1) + Fibonacci (n – 2).
Technipages elmagyarázza a rekurziót
A rekurzió olyan programozási problémamegoldási módszer, amelyben egy feladatot kisebb egységekre bontanak, és egyenként oldanak meg. Tehát az első megoldás a kisebb megoldásoktól függ, a kisebb problémáktól. A rekurziók segítik a problémamegoldást, mivel a kérdés annak feltételei szerint oldódik meg.
Legjobban az orosz Matrjoska babákkal illusztrálható, ami egy nagyobb babába zárt babakészlet; minden babadarab a következő vagy előző baba közvetlen mása, kivéve a kisebbeket. Tehát minden baba a másik kicsi vagy jelentősebb változata. A rekurzív programozás ezen az elven alapul, amelyben a problémát kisebb problémákra bontva kezelik.
A rekurzió 1958-ig vezethető vissza, John McCarthy volt az első, aki a rekurzió elvét alkalmazta a programozásban, és ez megtalálható a LISP-vel kapcsolatos munkájában is. A LISP volt az első programozási nyelv, amely rekurzív függvényeket tartalmazott, ahogyan ma is. McCarthy munkásságát Alonzo Church két évtizeddel korábbi munkái ihlették. A rekurzióval kapcsolatos figyelemre méltó említések Dedekind természetes számokról szóló, 1888-as munkájára is datálhatók. Rozsa Péter 1932-ben a rekurzív függvényekről tartott előadást a zürichi Nemzetközi Matematikus Kongresszuson 1932-ben.
A rekurzió általános felhasználási módjai
- Rekurzió segít a problémák kezelésében, mivel a problémát a saját feltételei szerint kezeli a probléma lebontásától a kisebb problémákig
- A problémák megoldásának jobb módja az lenne, ha áthaladna Rekurzió mert kiszélesíti a perspektívát a szóban forgó problémáról
- Ban ben Rekurzió, az új problémacsoport egymás másai, és a problémák mindegyike önállóan oldódik meg.
Gyakori visszaélések a rekurzióval
- Rekurzió nem oldja meg a problémákat, még akkor sem, ha a problémát kisebb léptékű kezelésre bontják
- Rekurzió csak leegyszerűsíti a problémát, és nem válaszol rá.