编程中:
一个排列使得所有的元素不在原来的位置上,则称这个排列为错排
以1,2,3,4四个数的错排为例,分析其结构,找出规律性的东西来
1 2的错排是唯一的,即2 1
1 2 3的错排有3 1 2,2 3 1。这二者可以看作是1 2错排,3分别与1,2换位而得的。
1 2 3 4的错排有
第一列是4分别与1,2,3互换位置,其余两个元素错排,由此生成的
第二列是4分别与3,1,2(123的一个错排)的每一个数互换而得到的
第三列则是由另一个错排231和4换位而得到
设n个数1,2,…,n错排的数目为Dn ,任取其中一数i,数i分别与其他的n-1个数之一互换,其余n-2个数进行错排,共得 (n-1)Dn-2个错排。另一部分位数i以外的n-1个数进行错排,然后i与其中每个数互换得(n-1)Dn-1个错排。
综合以上分析结果得递推关系
D(n)=(n-1)*(D(n-1)+D(n-2)) (n>2)