python回溯法实现数组全排列输出实例分析
作者:八大山人
这篇文章主要介绍了python回溯法实现数组全排列输出,以实例形式较为详细的分析了全排列的定义及回溯法的实现技巧,需要的朋友可以参考下
本文实例讲述了python回溯法实现数组全排列输出的方法。分享给大家供大家参考。具体分析如下:
全排列解释:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。
from sys import stdout #code from https://www.jb51.net/ def perm(li, start, end): if(start == end): for elem in li: stdout.write(elem) print '' else: for i in range(start, end): li[start], li[i] = li[i], li[start] perm(li, start+1, end) li[i], li[start] = li[start], li[i] if __name__ == '__main__': li = ['a','b','c','d'] perm(li, 0, len(li))
希望本文所述对大家的Python程序设计有所帮助。