Рекуррентные функции (python)

Главная Форумы Python Синтаксис и родные библиотеки Python Рекуррентные функции (python)

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Сообщения
  • #6124 Score: 2
    Legantmar
    Хранитель
    475 pts

    Это такие функции которые внутри себя повторяют часть своего кода до определенного условия (типа цикла while).
    Натолкнулся тут в интернете на простой пример получения чисел Фибоначчи (где последующее число получается путем сложения двух предыдущих):

    с первого взгляда смотрится красиво, хоть и не совсем понятно как оно там внутри рекуррентно выполняется ))
    Но вот “незадача”, уже при fibo(40) = 102334155 (40-ое число в последовательности Фибоначчи) скрипт зависает на 26 сек (на моем компе) (страшно представить, что будет при 50 и выше, если кому вдруг нужно будет)))
    А так как я не очень люблю то, чего не понимаю, то решил переписать по своему без “рекурренций” ))

    В итоге скрипт не зависит от номера числа и выполняется менее чем за 2 сек
    доказательство:

    Вывод: никому не доверяйте и все проверяйте!

    #6125 Score: 0
    Khasan Mamaev
    Модератор
    187 pts

    никогда не пользовался рекурсией в Питоне и теперь уж точно не буду) проверил на трех версиях Питона, на всех жутко тормозит

    #6126 Score: 0
    Oleg
    Участник
    28 pts

    Это вроде как называется рекурсией, а не рекуррентностью?)

    И да, читал, что рекурсия нужна для простоты чтения кода, для понятности, но циклы справляются быстрее.

    #7697 Score: 0
    Павел
    Участник

    Задача с числами Фибоначчи – это первый пример того, где рекурсию применять не надо. Рекурсия очень полезная вещь и незачем на неё так ругаться)

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Для ответа в этой теме необходимо авторизоваться.