|
![]() |
#1 |
Moderator
|
Цитата:
Рекурсия для Фибоначчи?
Без дополнительного кэширования полученных результатов? И без дополнительных комментариев почему именно так? мне бы тоже не понравилось. Если не ошибаюсь, подобная задача расбирается в одной из первых глав классической книги "Структура и интерпретация компьютернах программ". |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#2 |
Участник
|
Цитата:
тут дело в ленивых вычислениях. ну и отсутствие побочных эффектов, принятое в функциональных языках (если не увлекаться монадами, конечно) именно ленивые вычисления и отсутствие побочных эффектов и позволяют так легко использовать рекурсию. но даже на функциональных языках есть проблема повторных memcaсhe конечно спасает отца русской демократии во многих случаях. но обычно за счет непомерно увеличенного потребления памяти. так скорее всего, в функциональном языке придется хранить все числа последовательности. или алгоритм будет каким-то безумным. обрати внимание, что для линейной оценки времени выполнения достаточно хранить только два числа последовательности Фибонначи. а для меньшей оценки (f(n) < On(n)) достаточно хранить только три числа. Последний раз редактировалось mazzy; 10.02.2017 в 20:53. |
|
![]() |
#3 |
Участник
|
Предыдущий мой пост зачеркнуть и забыть.
Цитата:
и объяснишь про "оптимизацию хвостовой рекурсии" для ряда чисел Фибоначчи? ну, или ссылки хотя бы ))) Последний раз редактировалось mazzy; 10.02.2017 в 21:03. |
|