обсуждение темы
обсуждение темы “рекурсия” в этой главе связано исключительно с тем обстоятельством, что рекурсивный механизм основан на использовании стека. Возможные проблемы при использовании стека, нередко, оказываются вне поля зрения программиста, отлаживающего программу на тестовых примерах недостаточного объема.
В общем, кроме неприятностей, ничего от второго, - рекурсивного, - механизма мы здесь пока не получаем. Что наталкивает нас на одну из практических рекомендаций: если знаешь, как написать программный код для циклического (итерационного) алгоритма - пиши, и не ищи рекурсивный вариант.
Может быть, стоит вообще обходиться без рекурсии? Ведь, в качестве ее потенциального недостатка, следует еще указать
*
необходимые затраты времени (run-time) на обращения к стеку.
Классическим учебным контрпримером, иллюстрирующим “неразумное” применение рекурсии, служит ее использование при вычислении чисел Фибоначчи.
В Занятии С3 мы определили их через рекуррентное соотношение
Fibk=Fibk-2+Fibk-1;
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа