Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
rekurzívne funkcie môže byť použitá , ak je potrebné , ktoré je potreba vykonávať opakovane na súbor dát . Napríklad , môže rekurzívne funkcie opakovane vykonávať matematické operácie na číselnú hodnotu , kým je splnená podmienka .
Vytvorenie rekurzívne funkcie
Každá funkcia , ktorá volá sama seba je rekurzívne funkcie . Žiadne špeciálne požiadavky na funkciu volať sám , to môže urobiť tak , cait by volať inú funkciu . Napríklad , nasledujúci je rekurzívne funkcie pre výpočet ďalšie číslo vo Fibonacciho postupnosti :
dlho fibo ( long n)
{
if (n < = 2 )
{
vráti 1 ;
}
iného
{
návrat fib (n - 1 ) + fib (n - 2 ) ;
}
}
Problémy s rekurzia
rekurzia má niekoľko možných problémov , ktoré by mali byť považované za pred zápisom rekurzívne funkciu . Rekurzívne funkcie môže byť veľmi neefektívne , a to nielen tam je hromada réžia z opakovane volanie funkcie , môže rekurzívne funkcie ľahko skončiť s exponenciálnym prevádzkovej doby v závislosti na tom , ako sú písané . Rekurzívne funkcie spustiť aj riziko spôsobenia pretečeniu zásobníka v prípade , že počet rekurzívnych volaní je príliš vysoká .
ClipArt rekurzia Vs . Iterácie
Väčšina rekurzívne funkcie môžu byť realizované ako non - rekurzívne funkcie , ktorá používa iteračné slučku . To inklinuje byť účinnejšie a bezpečnejšie , ale v niektorých prípadoch môže byť ťažké písať a čítať .
Rekurzívny funkcie sú najčastejšie používané pri prechádzaní stromovú štruktúru podobnú , alebo pri použití iterácia by fungovať oveľa zložitejšie . Vo väčšine ostatných prípadov , iterácie by mal byť používaný namiesto toho .