Logo hy.boatexistence.com

Արդյո՞ք ռեկուրսիվ գործառույթներն ավելի արագ են, քան կրկնությունը:

Բովանդակություն:

Արդյո՞ք ռեկուրսիվ գործառույթներն ավելի արագ են, քան կրկնությունը:
Արդյո՞ք ռեկուրսիվ գործառույթներն ավելի արագ են, քան կրկնությունը:

Video: Արդյո՞ք ռեկուրսիվ գործառույթներն ավելի արագ են, քան կրկնությունը:

Video: Արդյո՞ք ռեկուրսիվ գործառույթներն ավելի արագ են, քան կրկնությունը:
Video: Ահա, թե ինչու են գիշերվա կեսին ձգվում ոտքի մկանները. ընդամենը 2 բաղադրիչ, և 2024, Մայիս
Anonim

ռեկուրսիվ ֆունկցիան շատ ավելի արագ է աշխատում, քան կրկնվողը Պատճառն այն է, որ վերջինում յուրաքանչյուր տարրի համար անհրաժեշտ է ԶԱՆԳ st_push ֆունկցիային, այնուհետև՝ st_pop-ին:. Նախկինում դուք ունեք միայն ռեկուրսիվ CALL յուրաքանչյուր հանգույցի համար: Բացի այդ, callstack-ի փոփոխականների մուտքն աներևակայելի արագ է:

Արդյո՞ք ռեկուրսիվ, թե կրկնվող ավելի արագ:

Հուշագրումը դարձնում է ռեկուրսիան հաճելի, բայց կարծես կրկնությունը միշտ ավելի արագ է Թեև ռեկուրսիվ մեթոդներն ավելի դանդաղ են աշխատում, դրանք երբեմն օգտագործում են կոդերի ավելի քիչ տողեր, քան կրկնությունը, և շատերի համար ավելի հեշտ է հասկանալ: Ռեկուրսիվ մեթոդները օգտակար են նաև որոշակի կոնկրետ առաջադրանքների համար, ինչպես օրինակ՝ ծառերի կառուցվածքների անցումը:

Արդյո՞ք կրկնվող լուծումներն ավելի արագ են, քան ռեկուրսիվ լուծումները:

Սակայն, կրկնվող լուծումները սովորաբար ավելի արագ են, քան ռեկուրսիվ լուծումները, երբ խոսքը վերաբերում է արագությանը: … Ստանդարտ ծրագրավորման լեզվում, որտեղ կոմպիլյատորը չունի tail-recursive optimization, ռեկուրսիվ կանչերը սովորաբար ավելի դանդաղ են, քան կրկնությունը:

Արդյո՞ք ռեկուրսիան ավելի հեշտ է, քան կրկնությունը:

Փաստն այն է, որ ռեկուրսիան հազվադեպ է խնդրի լուծման ամենաարդյունավետ մոտեցումը, և կրկնումը գրեթե միշտ ավելի արդյունավետ է Սա պայմանավորված է նրանով, որ սովորաբար ավելի շատ ծախսեր են կապված ռեկուրսիվ ստեղծելու հետ: զանգեր՝ պայմանավորված այն հանգամանքով, որ զանգերի կույտը շատ է օգտագործվում ռեկուրսիայի ժամանակ։

Որո՞նք են ռեկուրսիայի թերությունները:

Ռեկուրսիայի թերությունները

  • Ռեկուրսիվ ֆունկցիաները սովորաբար ավելի դանդաղ են, քան ոչ ռեկուրսիվ ֆունկցիաները:
  • Հնարավոր է, որ պահանջվի մեծ հիշողության տարածք՝ միջանկյալ արդյունքները համակարգի կույտերում պահելու համար:
  • Դժվար է վերլուծել կամ հասկանալ կոդը:
  • Այն ավելի արդյունավետ չէ տարածության և ժամանակի բարդության առումով:

Խորհուրդ ենք տալիս: