注:由于不会打组合符号,下文(a b)均表示a-元素集的b-组合。
(I)集合的排列
给定一个含n个元素的集合S,另r为正整数,我们将n元集S的r-排列理解为n个元素中r个元素的有序摆放。
若r>n,则S没有这个r-排列。
定义p(n,r)为n元集S的r-排列的数目。显然,r>n时,p(n,r)=0;
显然,对于正整数n,p(n,1)=n;
一个n-元素集合S的排列将会被更简单地称为S的一个排列或n个元素的一个排列。
于是,集S的一个排列就是以某种顺序列出S的所有元素。
对于正整数r<=n,有p(n,r)=n*(n-1)*···*(n-r+1)=n!/(n-r)!;
证明:
再构建n-元素集一个r-排列时,我们可以将其分为r步来完成:
1、 从n中取一个元素放在第一个位置,此时有r种方法
2、 无论步骤1结果如何,集合中都剩下n-1个元素,从剩余n-1个取一个元素放在第二个位置,此时有n-1种方法.
···
r、 无论前r-1个步骤结果如何,集合中都剩下n-r+1个元素,从剩余n-r+1个取一个元素放在第二个位置,此时有n-r+1种方法.
故,根据乘法原理有
p(n,r)=n*(n-1)*···*(n-r+1);
化简可得
p(n,r)=n!/(n-r)!
约定0!=1;
对于n>=0,我们定义p(n,0)=1;这与r=0时的公式一致
p(n,0)=n!/(n-0)!=1;
n个元素的排列为
p(n,n)=n!/(n-n)!=n!;
(II)n-元素集的r-循环排列由
p(n,r)=n!/(r*(n-r)!)
给出;
证明:
对于给定的n个元素构建其的循环排列,可以如下考虑:
固定qi中一个元素的位置,剩下的n-1个元素只能做n-1个元素的一个排列,其数目为(n-1)!;
对于给定n-元素集构建其r-循环排列,可以如下考虑:
从n中选取r个元素;我们可以将其分为r步来完成:
1、 从n中取一个元素放在第一个位置,此时有r种方法
2、 无论步骤1结果如何,集合中都剩下n-1个元素,从剩余n-1个取一个元素放在第二个位置,此时有n-1种方法.
···
r、 无论前r-1个步骤结果如何,集合中都剩下n-r+1个元素,从剩余n-r+1个取一个元素放在第二个位置,此时有n-r+1种方法.
故,根据乘法原理有
p(n,r)=n*(n-1)*···*(n-r+1);
但是这时,这时我们发现,对于某个特定的元素,我们可以把它旋转r次得到的排列数是相同的,故每个元素的排列都重复计算了r次
故,p(n,r)=n!/(r*(n-r)!);
也可以如下证明:
将线性的r-排列划分成几个部分,当且仅当两个线性排列对应于一个循环排列中它们在同一个部分,于是n-元集的r-循环排列数等于其部分数;
既然每个部分都有r个先行排列,那么n的r-排列就等于r除n的r-线性排列数目。
(III)集合的组合
令r为正整数,我们可以把n个元素的集合S的r-组合理解为n个元素中r个元素的无序选择;
S的r-组合即是S的一个子集。该元素由S的r个元素组成,即S的r-子集。
用(n r)来表示n的r-组合的数目。
(n r)的值由
p(n,r)/r!
给出;
证明:
我们把构建n的r-排列分成两个步骤:
1、 从n个元素中无序选择r个元素,其方法数即为(n r)
2、 将r个元素放到r个位置,
第一个位置可以放r种元素,
第二个位置可以放r-1种元素,
···
第r个位置只能放最后一种元素
根据乘法原理,其方法数为
r*(r-1)*···*1=r!;
又根据乘法原理
p(n,r)=(n r)*r!;
故,
(n r)=p(n,r)/r!;
(IIII)多重集的排列
(1)重复次数无限
如果S为一个多重集,那么S的r-排列时S的r个元素的有序摆放。
如果n是S元素的总数,那么s的n-排列也称为S的排列。
令S是多重集,它有k个不同类型的元素,每个元素有无限个重复次数,那么S的r-排列的数目为k^r;
证明:
构造S的r-排列可以如下考虑:
分为r个步骤:
1、 从S中取一个元素放在排列的第一个位置,有k种选择。
2、 从S中取一个元素放在排列的第二位置,由于每个元素可以重复无限次,仍有k种选择。
···
r、 从S中取一个元素放在排列的第r个位置,仍有k种选择。
根据乘法原理,
S的r-排列数目为
k^r;
得证;
特别的若每个元素的重复次数有限,但是个元素的重复次数均至少等于r,那么其排列数仍为k^r;
(2)重复次数有限
令S位多重集,S有k种不同类型的元素,分别为a1,a2,···,ak,每个元素的重复次数为n1,n2,···,nk;
n1+n2+···+nk=n;
那么S重复集的排列数目为:
n!/(n1!*n2!*···*nk!)
证明:
方法一:
设M为n-元集合,那么其排列数为
p(n,r);
令M‘为有n1个a1,n2个a2的集合,其排列数目为x;
那么M排列的构建可分为两个步骤:
1、构造M‘,方法有x种;
2、将M'的n1个a1的位置用互异的元素a11,a12,···,a1k替换,有p(n1,n1)=n1!种方法;将M'的n2个a2的位置用互异的元素a21,a22,···,a2k替换,有p(n2,n2)=n2!种方法;···;将M'的nk个ak的位置用互异的元素ak1,ak2,···,akk替换,有p(nk,nk)=nk种方法;
根据乘法原理
p(n,n)=x*n1!*n2!*···*nk!;
x=n!/(n1!*n2!*···*nk!);
得证;
也可以如下证明:
依次确定每种类型的元素在排列中的位置的方法数(即是从剩余位置无序的选择ni个位置,也就是(n剩余 ni));
根据乘法原理求积;
n!/((n-n1)!*n1!)*(n-n1)!/((n-n1-n2)!*n2!)*···*(n-n1-n2-··-n(k-1))!/((n-n1-n2-··-nk)!*nk!)=n!/(n1!*n2!*···*nk!);
(IIIII)多重集的组合
令S为多重集,则S的r-组合是S的一个r-元素的无序选择,S的r-组合本身就是S的一个子多重集,
如果n为S元素的个数,那么S的n-组合即为S的组合,如果S有k种元素,如果r=1,那么s有k个1-组合。
(1)若S的每个元素重复次数是无限的,r是非负整数,
那么其r-组合的数目为
(r+k-1 k-1)=(r+k-1 r)
证明:
设r-组合有x1个a1,x2个a2,···,xk个ak;
那么x1+x2+··+xk=r;
x1,x2,···,xk为负整数;
即是求方程组
x1+x2+···+xk=r;的解的个数;
令T={r·1,(k-1)·*}
将r个1和k-1个*排列的数目即是方程组的解;
可以理解成r个球放在k个盒子里,我们每次取一些球一次放在盒子里,k-1次后完成;
那么r个球和k-1次取球操作的排列就是完成这件事情的方法数目;
那么T为多重即集,根据n-重集的排列可知
多重集S的组合数为(r+k-1 r)=(r+k-1 k-1)=(r+k-1)!/(r!*(k-1)!)
(2)由元素出现次数无限的多重集S的r-组合的数目的证明可知,x1,x2,···,xk对于多重集S的r-组合的方法是一一对应的,如果限制了某个xi,那么其组合也将被限制;此时我们可以令yi=xi-li(li是对i元素的限制);
yi也为非负整数,求解y1+y2+···yk=r-l1-l2-···-lk;即可;
对于有k种元素的多重集S={n1·a1,n2·a2,···,nk·ak}的r-组合数还没学,以后再写!