排列组合生成.pptVIP

  • 6
  • 0
  • 约1.08千字
  • 约 20页
  • 2020-03-09 发布于福建
  • 举报
1.2 排列组合生成算法;1. 全排列的生成算法;递推算法: 假设已经生成n-1个数的所有(n-1)!个全排列, 将n插入到每一个排列的前面、第12之间、第23之间、。。。 最后,即得到n个数的所有n(n-1)!=n! 个全排列。;n的p进制表示:;不难证明,从0到n!-1的任何数m可唯一的表示为;从m计算出an-1,an-2,…a2,a1的算法如下:;反过来, 由(a3,a2,a1)= (301)也可以得到排列4213,;_ _ _ _;一个全排列可看做一个字符串,字符串可有前缀、后缀。关键是如何生成给定全排列的下一个排列。;839647521的下一个为839651247。;P=P1P2…Pn=P1P2…Pj-1PjPj+1…Pk-1PkPk+1…Pn;p1 p2…npn-1;例如对于 n=4; 3 2 1 3 2 1 3 2 1 3 2 1 2 3 1 2 3 1 2 3 1 2 3 1 2 1 3 2 1 3 2 1 3 2 1 3;对给定的一个整数k,我们赋其一个方向,即在其上写一个箭头(指向左侧或右侧);显然1永远不可移;;于是,我们可由 按如下算法产生所有排列:; 1 2 3 1 2 3 1 2 3 1 2 3 1 3 2 1 3 2 1 3 2 1 3 2 3 1 2 3 1 2 3 1 2 3 1 2;设从[1,n]中取r元的一个组合为C1C2…Cr,;谢谢!

文档评论(0)

1亿VIP精品文档

相关文档