Quy hoạch động (Dynamic Programming) là một phương pháp giải quyết vấn đề thông qua việc chia nhỏ vấn đề lớn thành các vấn đề con nhỏ hơn, sau đó giải quyết các vấn đề con này và lưu trữ kết quả để tránh việc phải tính toán lại nhiều lần. Phương pháp này được sử dụng đặc biệt hiệu quả trong các bài toán tối ưu hóa và có thể áp dụng