Встречается на собеседованиях • сегодня
Какую знаешь альтернативу рекурсии
Итерация (циклы) — основная альтернатива рекурсии. Вместо вызова функции самой себя можно использовать циклы (for, while), что часто эффективнее по памяти (нет накладных расходов на вызовы функций и стек вызовов).
Пример рекурсивного и итеративного вычисления факториала:
python
# Рекурсия
def factorial_rec(n):
return 1 if n <= 1 else n * factorial_rec(n - 1)
Итерация
def factorial_iter(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
text
Для сложных случаев (например, обход деревьев) можно использовать **стек** (LIFO) или **очередь** (BFS) вручную.
```python
# Обход дерева в глубину (DFS) без рекурсии
def dfs_iterative(root):
stack = [root]
while stack:
node = stack.pop()
print(node.val)
if node.right:
stack.append(node.right)
if node.left:
stack.append(node.left)Итерация обычно быстрее и безопаснее (нет риска переполнения стека), но код может быть менее читаемым для некоторых задач.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы