用python语言,以递归的方式输出全排列。代码较简洁。算法复杂度O(n!),最优。最大递归深度为n。
import copy
out = []
def permutation(a):
global out
if len(a) == 1:
# 递归出口
out.append(a[0])
print(out)
out.pop()
return
for i in range(len(a)):
t = copy.copy(a)
out.append(t.pop(i))
permutation(t)
out.pop()
return
def main():
a=[1,2,3,4,5,6]
permutation(a);
main()
欢迎互相讨论。