【算法分析与设计·学习笔记·递归与分治策略】python实现全排列问题

问题描述:给定一个带有n个不同元素的集合,要求递归实现得到该序列的全排列。

输入样例:[1,2,3]

输出样例:

1 2 3 
1 3 2 
2 1 3 
2 3 1 
3 2 1 
3 1 2 

def permutation(a,m,n):
    if m==n:
        for i in range(len(a)):
            print(a[i],end=' '),

    else:
        for i in range(m,n+1):
            a[m],a[i]=a[i],a[m]
            permutation(a,m+1,n)
            a[m],a[i]=a[i],a[m]
a=[1,2,3]
permutation(a,0,len(a)-1)

猜你喜欢

转载自blog.csdn.net/m0_58365661/article/details/124079062