Какова временная сложность этих двух кодов - PullRequest
0 голосов
/ 31 октября 2019

Ниже приведены два различных кода динамического программирования для ряда Фибоначчи. Я не могу понять сложность этого времени. Результаты обоих одинаковы. Любая помощь приветствуется.

#Code 1
def fibo(n) :
    if mem[n] is not None:
        return mem[n]

    if n == 1 or n == 2 :
        res = 1
    else :
        res = fibo(n - 1) + fibo(n - 2)

    mem[n] = res
    return res

n = int(input("Enter position :"))
mem = [None] * (n + 1)
fibo(n)

Код 2

def fibo(n) :
    if len(mem) == n-1 :
        return mem[n-1]

    if n == 1 or n == 2 :
        res = 1
    else :
        res = fibo(n - 1) + fibo(n - 2)

    mem.append(res)
    return res

n = int(input("Enter position :"))
mem = []
fibo(n)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...