144 читали · 3 месяца назад
Оптимизация рекурсии в Python
В прошлой статье мы разобрались, что такое рекурсия и как она работает в Python. Мы узнали, что рекурсия — это когда функция вызывает сама себя, разбивая большую задачу на более мелкие подзадачи. Познакомились со стеком вызовов — специальным местом в памяти, где хранится информация о каждом вызове функции. А ещё выяснили, что в Python есть ограничение на глубину рекурсии — по умолчанию 1000 вызовов. Мы научились обходить это ограничение с помощью setrecursionlimit(), но поняли, что это опасно: можно получить ошибки Segmentation Fault или Out of Memory...
192 читали · 4 года назад
Лимит рекурсии Python
В Python не поддерживается хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов. Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии...