Підтримка
www.wikidata.uk-ua.nina.az
V programuvanni i informatici rekursiya ye metodom rozv yazannya en pri yakomu rozv yazok pokladayetsya na rozv yazki menshih vipadkiv ciyeyi zh zadachi Rekursiya rozv yazuye taki rekursivni zadachi vikoristovuyuchi funkciyi chi proceduri yaki viklikayut sami sebe Cej pidhid mozhna zastosuvati do bagatoh zadach i rekursiya ye odniyeyu z centralnih idej informatiki Derevo stvorene movoyu Logo z vikoristannyam rekursiyi Kozhnu gilku mozhna rozglyadati yak menshu versiyu dereva Procedura rekursivna procedura v programuvanni u tili yakoyi znahoditsya yavne zvernennya do neyi samoyi abo cherez inshu proceduru Sila rekursiyi ochevidno lezhit v mozhlivosti viznachennya neskinchennoyi mnozhini ob yektiv skinchennim virazom Takim zhe chinom neskinchenna kilkist obchislen mozhe buti opisana skinchennoyu rekursivnoyu programoyu navit yaksho cya programa ne mistit yavnih povtoriv Niklaus Virt Algorithms Data Structures Programs 1976 Bilshist mov programuvannya pidtrimuyut rekursiyu dozvolyayuchi funkciyi viklikati sebe z vlasnogo kodu Deyaki movi funkcionalnogo programuvannya napriklad Clojure ne mistyat niyakih konstrukcij dlya cikliv i pokladayutsya lishe na rekursiyu dlya bagatorazovogo vikonannya kodu V teoriyi obchislyuvalnosti dovedeno sho movi yaki mistyat lishe rekursiyu povni za Tyuringom ce oznachaye sho voni taki zh potuzhni mozhut vikoristovuvatis dlya rozv yazannya takih samih zadach yak i imperativni movi na osnovi takih struktur yak while ta for Bagatorazovij viklik funkciyi soboyu mozhe prizvesti do togo sho stek viklikiv matime rozmir sho dorivnyuye sumi rozmiriv vhidnih argumentiv dlya vsih viklikiv Z cogo viplivaye sho dlya zadach yaki mozhna legko rozv yazati iteraciyeyu rekursiya bude mensh efektivna i dlya velikih zadach kritichno vikoristovuvati metodi optimizaciyi taki yak optimizaciya hvostovoyi rekursiyi Zastosuvannya rekursivnih procedur u bagatoh vipadkah dopomagaye skorotiti algoritmi zrobiti yihnyu formu kompaktnishoyu PrikladiRekursivni proceduri vikoristovuyut zokrema dlya opisannya algoritmiv obchislennya znachen funkcij yaki zadayutsya rekurentnimi spivvidnoshennyami napriklad obchislennya faktorialu n F n F 0 1 F n n F n 1 obchislennya chisel Fibonachchi F 1 F 2 1 F n F n 1 F n 2 Vidi rekursiyiZa rivnem rekursiyi Kilkist rekursivnih vhodiv nazivayetsya rivnem rekursiyi Rekursiya yaka mistit lishe odin samoviklik nazivayetsya odinichnoyu angl single recursion a ta yaka maye bagato samoviklikiv bagatokratnoyu angl multiple recursion Prikladi odinichnoyu rekursiyi obhid spisku linijnij poshuk obchislennya faktorialu Prikladi bagatokratnoyi obhid dereva poshuk v glibinu Odinichna rekursiya obchislyuvalno nabagato efektivnisha za bagatokratnu i zazvichaj mozhe buti zaminenoyu iteraciyeyu yaka potrebuye linijnogo chasu i konstantnoyi pam yati Mnozhinna rekursiya natomist potrebuye eksponencijnih resursiv chasu i pam yati i ne mozhe buti prosto zaminena iteraciyeyu bez vikoristannya yavnogo steku Mnozhinnu rekursiyu inodi mozhna zaminiti odinichnoyu i pri potrebi iteraciyeyu Napriklad nayivnij metod obchislennya poslidovnosti Fibonachchi vikoristovuye mnozhinnu rekursiyu tak yak kozhne znachennya potrebuye dvoh poperednih ale jogo mozhna obchisliti odinichnoyu rekursiyeyu peredayuchi dva poslidovni znachennya yak parametri Bilsh prirodno ce opisuyetsya korekursiyeyu yaka nakopichuye rezultat z pochatkovih znachen vidslidkovuyuchi dva susidni znachennya na kozhnomu kroci Div Korekursiya Poslidovnist Fibonachchi dlya prikladu Skladnishim prikladom mozhe buti en sho dozvolyaye zdijsnyuvati iterativnij obhid a ne tilki bagatokratnu rekursiyu Nepryama rekursiya Dokladnishe Vzayemna rekursiya Najprostishi prikladi rekursiyi i bilshist prikladiv tut demonstruyut pryamu rekursiyu v yakij funkciya viklikaye sebe Nepryama rekursiya z yavlyayetsya todi koli funkciya viklikayetsya ne soboyu a inshoyu funkciyeyu yaku vona pryamo abo nepryamo viklikala Napriklad yaksho f viklikaye f ce pryama rekursiya ale yaksho v f viklikaye g yaka viklikaye f todi ce nepryama rekursiya Mozhlivi lancyugi z bilshoyi kilkosti funkcij napriklad persha funkciya viklikaye drugu druga tretyu i t d a ostannya znovu pershu Nepryamu rekursiyu takozh nazivayut vzayemnoyu rekursiyeyu Cej termin maye te zh znachennya prosto robit nagolos na inshomu aspekti Tobto yaksho f viklikaye g i g viklikaye f z tochki zoru lishe f f nepryamo rekursivna Z tochki zoru lishe g g nepryamo rekursivna A z tochki zoru oboh chi zboku voni vzayemno rekursivni odna dlya odnoyi Podibno mnozhina troh i bilshe funkcij mozhe nazivatis mnozhinoyu vzayemno rekursivnih funkcij Anonimna rekursiya Dokladnishe Anonimna rekursiyaDiv takozhRekursiya Hvostova rekursiya Rekursivni funkciyi matematichne viznachennya Operaciya primitivnoyi rekursiyi Procedura programuvannya ZnoskiGraham Ronald Knuth Donald Patashnik Oren 1990 Concrete Mathematics angl Addison Wesley ISBN 0 201 55802 5 Arhiv originalu za 6 listopada 2020 Procitovano 27 zhovtnya 2023 Kuhail M A Negreiros J Seffah A 2021 Teaching Recursive Thinking using Unplugged Activities PDF WTE amp TE angl 19 169 175 Epp Susanna 1995 Discrete Mathematics with Applications angl vid 2nd PWS Publishing Company s 427 ISBN 978 0 53494446 9 EK1973 s 332 Wirth Niklaus 1976 Algorithms Data Structures Programs angl Prentice Hall s 126 ISBN 978 0 13022418 7 Functional Programming Clojure for the Brave and True www braveclojure com Procitovano 21 zhovtnya 2020 LiteraturaEnciklopediya kibernetiki u 2 t za red V M Glushkova Kiyiv Gol red Ukrayinskoyi radyanskoyi enciklopediyi 1973 T 2 PosilannyaIBM developerWorks Mastering recursive programming 7 listopada 2006 u Wayback Machine angl perevagi ta nedoliki pravila programuvannya rekursivnih procedur Ce nezavershena stattya z informatiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi
Топ