数学和算法之---排列组合

来源:互联网 发布:oracle数据库备份语句 编辑:程序博客网 时间:2024/06/06 09:52


本文大部分内容摘自网络只是本人稍加整理分享,供大家学习交流。


排列的概念

从n个不同的元素中,任取m(m<=n)个元素按照一定的顺寻排成一列,叫做从n个不同元素中取出m个元素的一个排列。从n个不同元素中取出m个元素的排列的个数,叫做从n个不同的元素中取出m个元素的排列数,用p(n,m)表示。

排列的公式

p(n,m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)!(规定0!=1).

组合的概念

从n个不同元素中,任意取出m个元素排成一组,叫做从n个不同元素中取出m个元素的而一个组合;从n个不同元素中取出m个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数,用符号 c(n,m)表示。

组合的公式

c(n,m)=p(n,m)/m!=c(n,n-m))

排列组合的案例


Q1: 有从1到9共计9个号码球,请问,可以组成多少个三位数?
A1: 123和213是两个不同的排列数。即对排列顺序有要求的,既属于“排列P”计算范畴。
上问题中,任何一个号码只能用一次,显然不会出现988,997之类的组合, 我们可以这么看,百位数有9种可能,十位数则应该有9-1种可能,个位数则应该只有9-1-1种可能,最终共有9*8*7个三位数。计算公式=P(9,3)=9*8*7,就这么简单,其实我们只要牢记公式,就能帮助我们解决生活中的问题。

Q2: 有从1到9共计9个号码球,请问,如果三个一组,代表“三国联盟”,可以组合成多少个“三国联盟”?
A2: 213组合和312组合,代表同一个组合,只要有三个号码球在一起即可。即不要求顺序的,这便是组合。正如A2中说的,213和312 所要表达的结果是一样的,都是由“1,2 和 3 ”这3 个数组合的。那么,我们就要考虑,怎么排除这种情况。

就拿结果是有“1、2、3”这个来做例子分析。

在结果是“1,2,3”这个情况中,考虑按顺序拿出来的情况是:第一次可以在3个数(1,2 或3)中选1个,第二次可以在剩下的2个数中选1个。。。也就是说他们的按顺序出现的可能有:3*2*1 种。但是只看结果,不看顺序,那么就重复了3*2*1次。

同理,你可以想到,每一个结果中,他们按顺序出现的种数都是6种。也就是说,每一种结果都重复了3*2*1次,

所以要除以3*2*1。

所以A2最终结果为:C(3,9 )= C(9,3)/C(3,9) =  9*8*7/3*2*1=84

原创粉丝点击