回溯

回溯算法的思路就是枚举路径,如果路径不满足条件时,进行回溯,尝试别的路径。

回溯算法的解决,就是一个决策树的遍历过程。回溯算法需要考虑三个问题:

  1. 路径:即已经做出的选择。

  2. 选择列表:就是当前可以做出的选择。

  3. 结束条件:就是到达决策树的底部,无法再做选择的条件。

回溯算法的思路:

result =[]
def backtrack(路径,选择列表):
    if 满足结束条件:
        result.add(路径)
        return

    for 选择 in 选择列表:
        做选择
        backtrack(路径,选择列表)
        撤销选择

Last updated