全排列算法设计与分析2.pptVIP

  • 6
  • 0
  • 约2.92千字
  • 约 8页
  • 2018-06-09 发布于江苏
  • 举报
全排列算法设计与分析2

全排列 1、首先看最后两个数4, 5。 它们的全排列为4 5和5 4, 即以4开头的5的全排列和以5开头的4的全排列。 由于一个数的全排列就是其本身,从而得到以上结果。 2、再看后三个数3, 4, 5。它们的全排列为3 4 5、3 5 4、 4 3 5、 4 5 3、 5 3 4、 5 4 3 六组数。 即以3开头的和4,5的全排列的组合、以4开头的和3,5的全排列的组合和以5开头的和3,4的全排列的组合. 从而可以推断,设一组数p = {r1, r2, r3, ... ,rn}, 全排列为perm(p),pn = p- {rn}。 因此perm(p) = r1perm(p1), r2perm(p2), r3perm(p3), ... , rnperm(pn)。当n = 1时perm(p} = r1。 为了更容易理解,将整组数中的所有的数分别与第一个数交换,这样就总是在处理后n-1个数的全排列 两个例子 123的全排列 --首先遍历元素,然后把遍历到的每一个元素都和第一个元素交换 第一个和第一个交换 就是1和1交换 最后还是123 那么就形成了 123? 213? 321 这样的3组 (交换后 再换回来 还原成123 因为后面的交换都是在123的基础上交换的 所以swap要写2次) -检查每一组除了第一个之外的剩余元素, 如果这些元素个数是2,那么就对这剩下的2个元素全

文档评论(0)

1亿VIP精品文档

相关文档