Рекурсия

Анықтама
Рекурсия — процедура немесе функцияның ӨЗІН-ӨЗІ шақыруы арқылы есептеу процесі. Міндетті түрде тоқтату шарты (базалық жағдай) болуы керек.
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)
Анықтама
Стек — рекурсивті шақырулардың қайтарылатын адрестерін сақтайтын жад. Рекурсия тереңдігі — толық шақырулар саны.
Ескеру
Рекурсия код жазуды ықшамдайды, бірақ жады мен жылдамдық жағынан циклге қарағанда «қымбатырақ».
Деңгей: Орта

Рекурсияны «ашу»

Берілді: factorial(2) шақырылады.
Табу керек: қадамдар тізбегі.
Шешуі:
factorial(2) → 2*factorial(1) → 2*(1*factorial(0)) → 2*(1*1) = 2.
Жауабы: 2.