DFS全排列python
时间: 2023-10-13 20:24:40 浏览: 107
python 实现全排列
5星 · 资源好评率100%
以下是一个使用DFS算法实现全排列的Python代码:
```python
def permute(nums):
def dfs(nums, path, res):
if not nums:
res.append(path)
return
for i in range(len(nums)):
dfs(nums[:i] + nums[i+1:], path + [nums[i]], res)
res = []
dfs(nums, [], res)
return res
```
该函数接受一个列表nums,返回所有可能的排列方式。在函数中,我们使用了一个嵌套的dfs函数来进行深度优先搜索。对于每一次递归,我们将当前的数字添加到path中,并从nums中移除该数字。当nums为空时,我们将path添加到结果列表res中。
在主函数中,我们初始化结果列表res为空,调用dfs函数,并返回res。
阅读全文