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"]))
Python运行上面的代码示例,得到以下结果 -
['a', 'b', 'c']
['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc'] 版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网