首页 > 编程知识 正文

排列组合的一些公式及推导方法,排列组合公式及推导过程

时间:2023-05-06 06:33:19 阅读:205299 作者:2604

部分内容转自:https://www.cnblogs.com/1024th/p/10623541.html。

加法原理、乘法原理

分类计数原理:做一件事,有n类办法,在第1类办法中有m1种不同的方法,在第2类办法中有m2种不同的方法,…,在第n类办法中有mn种不同的方法,那么完成这件事共有N=m1+m2+…+mn种不同的方法。

分步计数原理:完成一件事,需要分成n个步骤,做第1步有m1种不同的方法,做第2步有m2种不同的方法,…,做第n步有mn种不同的方法,那么完成这件事共有N=m1×m2×⋯×mn种不同的方法。

区别:分类计数原理是加法原理,不同的类加起来就是我要得到的总数;分步计数原理是乘法原理,是同一事件分成若干步骤,每个步骤的方法数相乘才是总数。

排列问题 排列数

从n个不同元素种取出m(hldty)个元素的所有不同排列的个数,叫做从n个不同元素种取出m个元素的排列数,用A(n, m)表示。

排列数公式

推导:把n个不同的元素任选m个排序,按计数原理分步进行:

取第一个:有n种取法;
取第二个:有(n−1)种取法;
取第三个:有(n−2)种取法;
……
取第m个:有(n−m+1)种取法;

根据分步乘法原理,得出上述公式。

排列数性质

组合问题 组合数

从n个不同元素种取出m(hldty)个元素的所有不同组合的个数,叫做从n个不同元素种取出m个元素的组合数,用C(n, m)表示。

组合数公式

证明:利用排列和组合之间的关系以及排列的公式来推导证明。

将部分排列问题A(n, m)分解为两个步骤: 

第一步,就是从n个球中抽m个出来,先不排序,此即组合数问题C(n, m);

第二步,则是把这m个被抽出来的球排序,即全排列A(m, m)。

根据乘法原理,则有:C(n, m) = A(n, m) / A(m, m)。

组合数的性质

C(n, m) = C(n, n - m)。可以理解为:将原本的每个组合都反转,把原来没选的选上,原来选了的去掉,这样就变成从n个元素种取出n−m个元素,显然方案数是相等的。

递推公式:C(n, m) = C(n - 1, m) + C(n - 1, m - 1),可以理解为,含有特定元素的组合有C(n - 1, m - 1),不含有特定元素的组合有C(n - 1, m)。

组合数求和公式

我们感性认知一下,上面这个式子的左边表示什么呢?

把从n个球中抽出0个球的组合数(值为1)、抽出1个球的组合数、抽出2个球的组合数、……、抽出n个球的组合数相加。

换句话说,就是从n个球中随便抽出一些不定个数球,问一共有多少种组合。

对于第1个球,可以选,也可以不选,有2种情况。

对于第2个球,可以选,也可以不选,有2种情况。

对于任意一个球,可以选,也可以不选,有2种情况。

根据乘法原理,则一共有2 * 2 * 2... *2(n个2) = 2^n种组合。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。