Python 回溯
Python 回溯
回溯是递归的一种形式。但它涉及选择任何可能性的唯一选择。我们首先选择一个选项并从中退出,如果我们达到了一个状态,那么我们可以得出结论:这个特定的选项不能提供所需的解决方案。我们通过遍历每个可用选项来重复这些步骤,直到获得所需的解决方案。
以下是查找给定字母集合的所有可能排列顺序的示例。当我们选择一对时,我们应用回溯来验证是否已经创建了该确切的一对。如果尚未创建,则将该对添加到答案列表中,否则将被忽略。
def permute(list, s): if list == 1: return s else: return [ y + x for y in permute(1, s) for x in permute(list - 1, s) ] print(permute(1, ["a","b","c"])) print(permute(2, ["a","b","c"]))
当上面的代码被执行时,它会产生以下结果 -
['a', 'b', 'c'] ['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']
相关文章
- Python 网络编程
- Python 算法设计
- Python randrange() 函数
- Python uniform() 函数
- Python os.chdir() 方法
- Python os.close() 方法
- Python os.pathconf() 方法
- Python os.stat_float_times() 方法
- Python os.walk() 方法
- Python os.write() 方法
- Python expandtabs()方法
- Python title()方法
- Python List count()方法
- Python List reverse()方法
- Python 字典 Dictionary setdefault()方法
- Python 字典 Dictionary pop() 方法
- Python Tuple 元组 len()方法
- Python Tuple 元组 min()方法
- Python time gmtime()方法
- Python time strptime()方法