ในบทนำสู่อัลกอริทึมของ Cormen และคณะส่วนที่ 15.3 องค์ประกอบของการเขียนโปรแกรมแบบไดนามิกจะอธิบายการบันทึกความจำดังนี้
อัลกอริทึมแบบเรียกซ้ำที่บันทึกช่วยเก็บรักษารายการในตารางสำหรับการแก้ปัญหาสำหรับแต่ละปัญหาย่อย แต่ละรายการในตารางเริ่มต้นมีค่าพิเศษเพื่อระบุว่ารายการยังไม่ได้กรอกเมื่อพบปัญหาย่อยเป็นครั้งแรกในขณะที่อัลกอริทึมแบบเรียกซ้ำเกิดขึ้นการแก้ปัญหาของมันจะถูกคำนวณและจัดเก็บในตาราง ในแต่ละครั้งที่เราพบปัญหาย่อยนี้เราเพียงค้นหาค่าที่เก็บไว้ในตารางและส่งคืน
และเพิ่มเป็นเชิงอรรถ:
วิธีการนี้อนุมานว่าเรารู้ชุดของพารามิเตอร์ย่อยที่เป็นไปได้ทั้งหมดและเราได้สร้างความสัมพันธ์ระหว่างตำแหน่งของตารางและปัญหาย่อย อีกวิธีที่ทั่วไปกว่าคือการบันทึกโดยใช้การแฮชด้วยพารามิเตอร์ย่อยเป็นคีย์
มีปัญหา DP ที่มีความรู้ที่ต้องการ (หรือทำให้ง่ายขึ้น) ในการจัดเก็บค่าที่บันทึกในพจนานุกรมแทนที่จะเป็นในอาร์เรย์ (หลายมิติ) หรือไม่?
ข้อมูลประกอบ: หากนี่เป็นการใช้งานใด ๆ เหตุผลสำหรับคำถามนี้คือฉันพยายามกระตุ้นความคิดของแผนภูมิการค้นหาแบบไบนารี (สมดุลตนเอง) แก่ผู้ที่เพิ่งเห็นการเขียนโปรแกรมแบบไดนามิก