Algoritme & struktura të dhënash

Dynamic programming

Në shqip: Programimi dinamik

ShpjegimiSQ

Programimi dinamik e zgjidh një problem duke e ndarë në nënprobleme që përsëriten, dhe duke e ruajtur përgjigjen e secilit që të mos e llogarisë dy herë. Është teknika që e bën Fibonaccin(100) të menjëhershëm.

EnglishEN

Dynamic programming solves a problem by splitting it into repeating subproblems and storing each answer so it's never computed twice. It's the technique that makes Fibonacci(100) instant.

Si ta mendosh

Si ta shkruash në fletore rezultatin e çdo ushtrimi të vështirë, që herën tjetër ta kopjosh në vend që ta zgjidhësh sërish.

Lexoje në anglisht

Like writing down the result of every hard exercise so next time you copy it instead of solving it again.

Shembull kodipython

def menyrat(n):           # sa mënyra për të ngjitur n shkallë (1 ose 2)
    dp = [1, 1] + [0] * n
    for i in range(2, n + 1): dp[i] = dp[i - 1] + dp[i - 2]
    return dp[n]

Terma të lidhur