Nehéz megtanulni a rekurziót?

Pontszám: 4,3/5 ( 38 szavazat )

A rekurzió nem nehéz , míg a rekurzív gondolkodás bizonyos esetekben zavaró lehet. A rekurzív algoritmus jelentős előnyökkel rendelkezik az azonos iteratív algoritmusokkal szemben, például kevesebb kódsort és csökkentett adatstruktúrákat használ.

Mennyi ideig tart a rekurzió megértése?

A rekurzió pontos fogalmának megértése azonban nem tart tovább néhány percnél . ("keves" itt kb. 1-től 50-ig terjed, lazán szólva). Valójában nem találkoztam senkivel, aki a rekurzió alapvető alkalmazásaival küzdött volna.

A rekurzió nehezebb, mint az iteráció?

" Az iteráció használata a következő: " . ... Időbonyolultság: A rekurzió időbonyolultságának megtalálása nehezebb, mint az iterációé . Rekurzió: A rekurzió időbonyolultságát az n-edik rekurzív hívás értékének meghatározásával találhatjuk meg az előző hívásokhoz viszonyítva.

Jónak kell lennem a rekurzióban?

Válasz 4fd765800ef82b00030244ea. A rekurzív gondolkodás nagyon fontos a programozásban. Segít az apró problémákat kisebbre bontani. A rekurzív megoldás gyakran könnyebben olvasható, mint az iteratív megoldás.

Sok memóriát igényel a rekurzió?

A rekurzió több memóriát használ . Mivel a függvénynek minden rekurzív hívással hozzá kell adnia a veremhez, és ott kell tartania az értékeket a hívás befejezéséig, a memóriafoglalás nagyobb, mint egy iteratív függvényé.

5 egyszerű lépés bármilyen rekurzív probléma megoldásához

38 kapcsolódó kérdés található

Mik a rekurzió hátrányai?

A rekurzió hátrányai
  • A rekurzív függvények általában lassabbak, mint a nem rekurzív függvények.
  • Sok memóriaterületre lehet szükség ahhoz, hogy a köztes eredményeket tárolja a rendszerveremekben.
  • Nehéz elemezni vagy megérteni a kódot.
  • Tér- és időbeli összetettség szempontjából nem hatékonyabb.

Miért rossz a rekurzió?

A rekurzió egyik hátránya, hogy több helyet foglalhat el, mint egy iteratív megoldás . A rekurzív hívások kötegének felépítése átmenetileg memóriát fogyaszt, és a verem mérete korlátozott, ami korlátozhatja a rekurzív megvalósítás által megoldható probléma méretét.

Miért nem szabad rekurziót használni?

Tehát bár a rekurzió természetes módon reprezentálta az algoritmust, ebben az esetben nagyon nem hatékony. Így a rekurzió memóriatúlcsordulást okozhat, ha nagy a verem , és nem hatékony olyan esetekben, amikor ugyanazt az értéket számítják ki újra és újra.

Jó ötlet a rekurzió?

A rekurzió olyan problémák megoldására szolgál, amelyek kisebb, ismétlődő problémákra bonthatók . Különösen jó olyan dolgokon dolgozni, amelyeknek sok lehetséges ága van, és túl bonyolultak az iteratív megközelítéshez. ... A fák és grafikonok egy másik alkalom, amikor a rekurzió a legjobb és legegyszerűbb módja a bejárásnak.

Miért nem jó a rekurzió?

A rossz. A kötelező programozási nyelvekben a legtöbb esetben kerülni kell a rekurzív függvényeket (kérjük, ne gyűlölködjenek, hogy ez az esetek 100%-ában nem igaz). A rekurzív függvények kevésbé hatékonyak, mint iteratív megfelelőik . Ezenkívül ki vannak téve a verem túlcsordulásából eredő veszélyeknek.

Miért olyan lassú a rekurzió?

A rekurzió lassabb és több memóriát fogyaszt, mivel meg tudja tölteni a veremet . De van egy megkerülő megoldás, az úgynevezett tail-call optimalizálás, amely egy kicsit bonyolultabb kódot igényel (mivel a függvényhez egy másik paraméter szükséges), de hatékonyabb, mivel nem tölti ki a veremet.

Rekurzív vagy iteratív gyorsabb?

A rekurzív függvény sokkal gyorsabban fut, mint az iteratív . Ennek az az oka, hogy az utóbbiban minden elemhez szükség van egy CALL-ra az st_push függvényre, majd egy másikra az st_pop függvényre. Az előbbi esetben minden csomóponthoz csak a rekurzív CALL tartozik.

Miért olyan erős a rekurzió?

A rekurziónak köszönhetően további előnyökkel jár, hogy más programozók könnyebben megérthetik az Ön kódját – ami mindig jó dolog. Szigorúan véve a rekurzió és az iteráció egyaránt egyformán erős . Bármilyen rekurzív megoldás megvalósítható iteratív megoldásként veremmel.

Miért olyan nehéz a rekurzió?

Mi teszi zavaróvá a rekurziót? Ennek fő oka az, hogy ugyanazt a függvényt vizsgáljuk a helyi változók különböző értékeivel . Nagyon fontos, hogy megbizonyosodjon arról, hogy éppen melyik bemenetet használja, amikor egy rekurzív függvényt elemez.

Hogyan olvasod könnyen a rekurziót?

Egy probléma rekurziós megoldásához először ossza fel egy vagy több egyszerűbb feladatra, amelyeket ugyanúgy meg tud oldani, majd amikor a probléma elég egyszerű ahhoz, hogy további rekurzió nélkül megoldható legyen, visszatérhet magasabb szintre.

Mit jelent a rekurzió egy példával?

A rekurzió egy probléma (vagy egy probléma megoldásának) önmagában (egyszerűbb változata) történő meghatározásának folyamata. Például a „ találj haza ” műveletet a következőképpen definiálhatjuk: Ha otthon van, hagyja abba a mozgást. Tegyen egy lépést hazafelé.

El kell kerülni a rekurziót?

A rekurziót gyakran anélkül használják, hogy fontolóra vennék az alternatívákat használat előtt. Bár igaz, hogy a rekurzív megoldás gyakran elegánsabb és könnyebben észrevehető, mint az iteratív megoldás, ügyelni kell arra, hogy ne éljünk vissza vele .

Mikor kerüljük el a rekurziót?

Ezért a rekurziót általában kerülni kell, és csak kellő megfontoltsággal és körültekintéssel kell használni, amikor az feltétlenül szükséges . Ez a szabály ellenőrzi a közvetlen rekurziót (amikor egy függvény meghívja magát).

Milyen előnyei vannak a rekurziónak?

Csökkentse a függvény szükségtelen meghívását . A Rekurzió segítségével könnyen megoldható a problémák, miközben iteratív megoldása nagyon nagy és összetett.

Hol nem szabad rekurziót használni?

  • "A rekurziót általában elkerüljük, mert kevésbé olvashatóvá teszi a kódot, és nehezebben karbantartható és hibakereshető" - Ez meglehetősen durva általánosításnak tűnik. ...
  • -1 Csak a válasz első felével nem értek egyet, főleg, ha egy ilyen félkövér kijelentést (hogy kerüljük a rekurziót) nem támasztja alá valamiféle hivatkozás. –

Miért érdemes elkerülni a rekurziót, vagy valószínűleg nem?

Igen, kerülje a rekurzió használatát, mert több helyre lesz szüksége . tehát egy nagy projektnél kerülni kell. Használhatja ciklusokban, ahol ismételt (iteratív) feladatot kell végrehajtania (pl., faktor, számok hozzáadása, Fibonacci számok stb.), de amikor a program mérete növekszik, próbálja meg elkerülni.

Rossz a Python a rekurzióban?

Röviden, a rekurzió nem rossz a Pythonban , és gyakran szükség van rá olyan programokhoz, amelyek először mélységi bejárást végeznek, mint például a webrobotok vagy a címtárkeresések. A Towers of Hanoi legkisebb lépésekre vonatkozó problémája egy rekurzív algoritmussal is megoldható a következő Python kóddal.

Mikor ne használjunk rekurziót?

A legtöbb esetben azonban a rekurzív függvények nagyon összetettek, ezért kerülnünk kell a használatát. Az egyik sokkal jobb megoldás, ha lehetőség szerint dinamikus tervezést használunk, ami valószínűleg a legjobb módja egy részproblémákra bontható probléma megoldásának.

A rekurzió jó vagy rossz az elemzéshez?

Helyes rekurzív nyelvtanokkal a verem korlátlanul növekedhet, amíg redukció meg nem történik, így meglehetősen drasztikusan korlátozza az elemzési lehetőségeket. A bal oldali rekurzívak azonban lehetővé teszik, hogy a fordító korábban (sőt, a lehető leghamarabb) csökkentéseket generáljon.

Túlértékelt a rekurzió?

Az emberek a nyelvet arra használhatják, hogy akár tényleges, akár hipotetikus helyzetek, gondolatok, ötletek és témák végtelen sokféleségére hivatkozzanak és leírjanak. ... Ezért a rekurziónak, mint az egyedüli emberi mechanizmusnak tulajdonított jelentősége túlértékelt .