البرمجة الديناميكية في علوم الحاسوب أسلوب يُستخدم في لغات البرمجة أو الخوارزميات بحسب السياق. تعني خوارزميًا تقسيم المسألة إلى مسائل فرعية متداخلة، ثم تخزين نتائجها لتجنب تكرار الحساب. وتبني حلول مسائل التحسين والمسارات والسلاسل تدريجيًا من نتائج أصغر.