【罕见问题】什么情况下记忆化搜索的效率比动态递推更高
子问题的计算依赖于其他子问题的结果:如果子问题的计算依赖于其他子问题的结果,而这些结果需要提前计算,并且可以被记忆化搜索保存下来,那么记忆化搜索可以减少重复计算,从而提高效率。再换句话说, 当记忆化搜索得到解的过程中, 只需要依赖部分的子问题的计算结果, 就可得出. 如果此时使用动态递推, 则需要进行所有状态的枚举, 其中有很多子问题的计算是与最终得到解无关的.子问题存在不确定性:如果子问题的解有多个可能的结果,而动态递推需要遍历所有可能的结果,而记忆化搜索可以仅计算所需的结果,从而减少计算量。
原创
2023-07-17 22:25:59 ·
249 阅读 ·
0 评论