Приведи пример неэффективного вычисления с рекурсией
ChatGPT сказал:
ChatGPT
Пример неэффективного вычисления числа Фибоначчи с использованием рекурсии выглядит так:
def fibonacci_recursive(n: int) -> int:
if n <= 1:
return n
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
Почему этот код неэффективен?
Повторяющиеся вычисления: Для вычисления числа Фибоначчи F(n)F(n), функция вызывает F(n−1)F(n−1) и F(n−2)F(n−2). Но для каждого из этих вызовов снова вычисляются их поддеревья. Это приводит к экспоненциальному росту числа вызовов.
@johan да, значит недопонимание произошло с моей стороны. Поскольку ты упомянул про цикл, я подумал, что ты говорил про вариант с "for _ in range(n)".
Ну сейчас да, есть тот же ChatGPT, но мой посыл в основном заключался в моей абсолютной разочарованности в образовательном процессе как от человека, который повидал и процесс обучения со стороны студента, и процесс обучения со стороны системного администратора, когда преподаватель по программированию не может нажать на кнопку для включения компа.