全排列

Posted 回冬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全排列相关的知识,希望对你有一定的参考价值。

1、递归

def perm(n, begin, end):
    if begin >= end:
        print(n)
    else:
        i = begin
        for num in range(begin, end):
            n[num], n[i] = n[i], n[num]
            perm(n, begin + 1, end)
            n[num], n[i] = n[i], n[num]
n = [1, 2, 3]
perm(n, 0, len(n))

2、非递归

import itertools
print list(itertools.permutations([1, 2, 3, 4],4))  #第二个参数表示,4个数的全排列

 

以上是关于全排列的主要内容,如果未能解决你的问题,请参考以下文章