全排列问题是回溯法的一个典型应用,本章主要用Python解决这个问题
全排列问题
问题引入
【问题描述】有4个互不相同的数字,输出由其中三个不重复数字组成的排列。
【输入形式】4个整数,已经从小到大排列。
【输出形式】输出所有排列,输出格式见样例
【样例输入】
1 2 3 4
【样例输出】
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
1 2 4
1 4 2
2 1 4
2 4 1
4 1 2
4 2 1
1 3 4
1 4 3
3 1 4
3 4 1
4 1 3
4 3 1
2 3 4
2 4 3
3 2 4
3 4 2
4 2 3
4 3 2
程序设计
#排列组合
#组合,先在nums中取n个数,保存所有的组合放在res1中
def combination(nums,solution,n): #求组合函数
if n==0: #n为取的元素个数,当n等于零时,说明不需要再取元素了
res1.append(solution) #将当前组合加入结果res列表
return
for i in r