Қоңырау шалуын оңтайландыру Құйрық рекурсиясы ракет ішінде арнайы күйге ие, себебі компилятор соңғы қоңырауларды байқап, оларды оңтайландырады. Әдетте, функцияға әрбір шақыру, соның ішінде рекурсивті шақыру аргументтердің басқа жиынын шақыру стегі деп аталатын жад блогында сақтауға әкеледі.
Құйрық рекурсия ма?
Құйрық рекурсиясы дегеніміз не? Рекурсивті функция рекурсивті шақыру функциямен орындалатын соңғы нәрсе болған кезде соңғы рекурсивті болады. Мысалы, келесі C++ функциясын басып шығару соңғы рекурсивті болып табылады.
OCaml рекурсивті ме?
OCaml Tail рекурсиясы
OCaml сияқты функционалды тілдер көбінесе рекурсивті функцияларға сүйенеді Дегенмен, мұндай функциялар жадтың көп тұтынылуына әкелуі мүмкін немесе үлкен деректер жиынын өңдеу кезінде, толып кетулерді жинақтау үшін. Құйрық рекурсиясы мұндай жағдайларда оңтайландырудың маңызды көзі болып табылады.
Құйрық рекурсивті итеративті ме?
Құйрықты рекурсивті әдіс - итеративті процесті көрсетудің бір жолы. Итерацияның кең таралғаны сонша, бағдарламалау тілдерінің көпшілігі оны анықтау үшін циклдер деп аталатын арнайы құрылымдарды қамтамасыз етеді.
Жылдам сұрыптау рекурсивті ме?
a. TAIL- РЕКУРСИВТІ-QUICKSORT дәл QUICKSORT жасайтын нәрсені жасайды; сондықтан ол дұрыс сұрыпталады. QUICKSORT және TAIL-RECURSIVE-QUICKSORT бірдей бөлуді жасайды, содан кейін әрқайсысы өзін A, p, q − 1 аргументтерімен шақырады. QUICKSORT содан кейін A, q + 1, r аргументтерімен өзін қайта шақырады.