python回溯法实现数组全排列输出实例分析

时间:2021-11-21 02:06:34

本文实例讲述了python回溯法实现数组全排列输出的方法。分享给大家供大家参考。具体分析如下:

全排列解释:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。

  1. from sys import stdout 
  2. #code from //www.zzvips.com/ 
  3. def perm(li, start, end): 
  4.   if(start == end): 
  5.     for elem in li: 
  6.       stdout.write(elem) 
  7.     print '' 
  8.   else
  9.     for i in range(start, end): 
  10.       li[start], li[i] = li[i], li[start] 
  11.       perm(li, start+1, end) 
  12.       li[i], li[start] = li[start], li[i] 
  13. if __name__ == '__main__'
  14.   li = ['a','b','c','d'
  15.   perm(li, 0, len(li)) 

希望本文所述对大家的Python程序设计有所帮助。