python回溯算法

回溯算法一种优先搜索算法(试探法);按优条件向前搜索,以达目标;当试探到某步,发现原来选择并不好(走不通),就退回重新选择
回溯算法的一般步骤:1:定义问题的解空间(搜索中动态生成);2:确定易搜索的解空间结构(一般为树形结构或图);3:以深度优先的方式搜索解空间,搜索中用剪枝函数避免无效搜索。

剪枝函数:1:用约束函数在扩展节点处减去不满足约束条件的子树;2:用限界函数减去不能得到最优解的子树。

回溯法:实战

1.电话号码的字母组合
方法:回溯(适用于组合问题)

class Solution:
    def letterCombination(self,digits):
        
        phone={'2': ['a', 'b', 'c'],
                 '3': [&

你可能感兴趣的:(python)