Questions tagged «memoization»

3
没有数组的记忆
在Cormen等人的“算法简介”中,第15.3节动态编程的元素对记忆的解释如下: 记忆的递归算法为每个子问题的解决方案在表中维护一个条目。每个表条目最初都包含一个特殊值,以指示该条目尚未填写。当递归算法展开时,第一次遇到子问题时,将计算其解决方案,然后将其存储在表中。以后每次遇到此子问题时,我们只需查找表中存储的值并返回它。 并且添加了一个脚注: 这种方法的前提是我们知道所有可能的子问题参数的集合,并且已经建立了表位置和子问题之间的关系。另一种更通用的方法是通过使用以子问题参数作为键的哈希来记忆。 是否有任何众所周知的DP问题需要(或使其更容易)将已存储的值存储在字典中,而不是在(多维)数组中? 背景:如果有什么用,这个问题的原因是我正试图将(自平衡)二进制搜索树的概念激发给刚刚看过动态编程的人们。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.