Intern
Шта је рекурзија?
sobes.tech АИ
Одговор од АИ
Рекурзија је процес у којем функција позива саму себе. У програмирању, рекурзивна функција је она која се позива директно или индиректно. Да би се избегла бесконачна петља, рекурзивна функција мора имати основни случај (base case), у којем престаје да се позива.
Примери употребе:
- Обилазак структура података (нпр. дрвећа).
- Решавање проблема који се могу поделити на мање подзадаке истог типа (нпр. израчунавање факторијела).
Пример израчунавања факторијела коришћењем рекурзије:
def factorial(n):
# Основни случај: факторијел од 0 је 1
if n == 0:
return 1
# Рекурзивни случај: факторијел од n = n * факторијел од (n-1)
else:
return n * factorial(n - 1)
# Пример употребе
result = factorial(5)
# резултат ће бити 120
Недостаци рекурзије:
- Може потрошити много меморије због стека позива.
- Може бити мање ефикасна у поређењу са итеративним решењима за неке проблеме.
- Може довести до прелива стека при дубоким рекурзивним позивима.