#记忆化搜索是动态规划和搜索的综合体,结合了两者的优点。因为动态规划往往要遍历所有的状态,而搜索可以排除一些无效状态。更重要的是搜索还可以剪枝(比如0-1背包问题减去了大量的无用搜索),因此在时间和空间开销上往往比动态规划要低很多。记忆化算法在求解的时候还是按着自顶向下的顺序,但是每求解一个状态,就将它的解保存下来,以后再次遇到这个状态的时候,就不必重新求解了。
#深度优先搜索属于图算法的一种,缩写为DFS。其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次,特别的它在搜索前不判断条件,直接进行搜索。
记忆化搜索相对于深度优先搜索的优点:
记忆化搜索可以排除一些无效状态。更重要的是搜索还可以剪枝(比如0-1背包问题减去了大量的无用搜索),因此在时间和空间开销上往往比动态规划要低很多。