Заключение¶
В этой главе мы рассмотрели примеры нескольких рекурсивных алгоритмов. Они были выбраны, чтобы продемонстрировать вам различные задачи, для которых рекурсия является эффективной техникой решения. Ключевые моменты этой главы заключаются в следующем:
- Все рекурсивные алгоритмы должны иметь базовый случай.
- Рекурсивный алгоритм должны изменять своё состояние и двигаться по направлению к базовому случаю.
- Рекурсивный алгоритм должен вызывать самоё себя (рекурсивно).
- В некоторых случаях рекурсией можно заменять итерирование.
- Часто рекурсивные алгоритмы естественно отображают формальное выражение задачи, которую вы пытаетесь решить.
- Рекурсия - не “серебряная пуля”. Иногда рекурсивное решение может быть более ресурсоёмким, чем альтернативный алгоритм.