Trong phần Giới thiệu về thuật toán của Cormen và cộng sự , phần 15.3 Các yếu tố của lập trình động giải thích việc ghi nhớ như sau:
Một thuật toán đệ quy ghi nhớ duy trì một mục trong bảng cho giải pháp cho từng bài toán con. Mỗi mục nhập ban đầu chứa một giá trị đặc biệt để chỉ ra rằng mục nhập vẫn chưa được điền vào. Khi gặp vấn đề phụ lần đầu tiên khi thuật toán đệ quy mở ra, giải pháp của nó được tính toán và sau đó được lưu trữ trong bảng. Mỗi lần tiếp theo chúng ta gặp phải bài toán con này, chúng ta chỉ cần tra cứu giá trị được lưu trong bảng và trả về nó.
Và nó bổ sung, như một chú thích:
Cách tiếp cận này giả định rằng chúng ta biết tập hợp tất cả các tham số của bài toán con có thể và chúng ta đã thiết lập mối quan hệ giữa các vị trí bảng và các bài toán con. Một cách tiếp cận khác, tổng quát hơn, là ghi nhớ bằng cách sử dụng băm với các tham số của biểu đồ con làm khóa.
Có bất kỳ vấn đề DP nào được biết rõ đòi hỏi (hoặc làm cho nó dễ dàng hơn) để lưu trữ các giá trị ghi nhớ trong từ điển hơn là trong một mảng (đa chiều) không?
Bối cảnh: nếu điều này được sử dụng, lý do cho câu hỏi này là tôi đang cố gắng thúc đẩy khái niệm cây tìm kiếm nhị phân (tự cân bằng) cho những người vừa xem chương trình động.