Рубрики
Без рубрики

От 100% до 0% процессора с воспоминанием

Я последовал за 30 первых минут тренировок FreeCodeCamp по имени динамическое программирование для начинающих … Помечено с Python, программированием, учебным пособием, кодовой коробкой.

Я последовал за 30 первых минут тренировки FreeCodeCamp по имени Динамическое программирование для начинающих – как решать проблемы кодирования с воспоминанием и табликой Отказ

Первая часть заключается в том, что эффективность программирования и времени, но и о ресурсах инфраструктуры.

Обучение показывает примеры JavaScript, но я переехал в Python ♥ ️.

Код:

def fib(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return fib(n - 1) + fib(n - 2)

print('The first 50 fibonacci numbers are:')
print(','.join([str(fib(n)) for n in range(50)]))

Это занимает слишком много ресурсов ЦП, и он даже не закончен:

Переехать в:

def fib(n, memo={}):
    if n in memo:
        return memo[n]

    if n == 0:
        return 0

    if (n <= 2):
        return 1

    memo[n] = fib(n - 1, memo) + fib(n - 2, memo)
    return memo[n]

print('The first 50 fibonacci numbers are:')
print(','.join([str(fib(n)) for n in range(50)]))

Занимает менее секунды, чтобы бежать и практически без ресурсов ЦП:

real    0m0.156s
user    0m0.075s
sys     0m0.059s

Оригинал: “https://dev.to/imjoseangel/from-100-to-0-cpu-with-memoization-2pca”