Shpjegoni pse është e rëndësishme të përdoret programimi dinamik në vend të algoritmit rekurziv naiv.
Programimi dinamik është një teknikë e fuqishme optimizimi për zgjidhjen e problemeve me nënprobleme të mbivendosura. Mund të përdoret për të reduktuar ndjeshëm kompleksitetin kohor të algoritmeve rekursive duke shmangur llogaritjen e tepërt të nënproblemeve, duke çuar kështu në përfitime të konsiderueshme të performancës. Për më tepër, programimi dinamik mund të ndihmojë në uljen e përdorimit të kujtesës duke ruajtur rezultatet e nënproblemeve. Duke vepruar kështu, zvogëlon nevojën për të riekzekutuar të njëjtat llogaritje shumë herë. Kjo e bën programimin dinamik shumë efikas dhe të përshtatshëm për grupe të dhënash të mëdha.