c++ 排列组合_初学讲义之高中数学二十一:排列组合和二项式定理

排列组合是高中数学里相对独立的一块内容,与其他基础知识几乎没有交集

排列组合的基本概念比较简单,但是题目可以出得很复杂,非常考察逻辑分析能力

排列组合是概率与统计的基础

多做练习,提高分步和分类的思辨能力对学好排列组合非常重要

二项式定理只要熟练掌握基本概念就足够了


乘法原理与加法原理

这两个原理非常简单,体现在生活的方方面面,现在要从数学上认真掌握

1.1 乘法原理

如果完成一件事需要n个步骤,第一步有

种不同的方法,第2步有
种不同的方法, ......,第n步有
种不同的方法,那么完成这件事共有
种不同的方法

举个具体的例子

比如你有10件不同的衬衣,8条不同的裤子,5双不同的鞋子,那么你每天出门的穿着,衬衣有10种选择,裤子有8种选择,鞋子有5种选择,总共就有10*8*5=400种搭配的可能

衬衣、裤子、鞋子三样东西的选择之间都是相互独立的,先选哪个后选哪个对之后的选择没有影响

这就是乘法原理,在各种涉及到“搭配”的事件中都会遇到

1.2 加法原理

如果完成一件事有n类办法,在第1类办法中有

种不同的方法,在第2类办法中有
种不同的方法,......,在第n类办法中有
种不同的方法,那么完成这件事总共有:
种方法

这叫做加法原理

加法原理其实就是把本来就有的全部n种(

种)方法,先按照某些共性或者特点进行了归类,归为
......

在排列组合中,这种“归类”的思想非常重要,可以使题目大大的简化,更加有条理

举个具体的例子:

从北京去上海,可以坐飞机,假设有10趟航班;可以坐高铁,假设有20班高铁;可以坐大巴,假设有30班大巴;也可以自驾,只能自己开车。

因此,从北京去上海,总共有10+20+30+1=61种方法

这就是加法原理,本质就是在大类中再细分小类

小结

乘法原理和加法原理是排列组合以及后面要学的概率统计最为基本、最为重要的原理,必须要非常的熟练才行。

乘法原理和加法原理本身非常简单,在生活中经常会遇到,但是现在要专门地把它们当做数学问题来看待,并加以区分和明确。

不妨留意下生活中遇到的各种用到乘法原理和加法原理的事情,比如每天的穿衣(衣服裤子鞋子)、聚餐点菜(主食、荤菜、素菜、汤、饮料)用到乘法原理,假期旅游目的地的选择(省内、国内省外、国外)、课外书的购买(小说、漫画、杂志、科普等等)用到加法原理。


排列

从n个不同元素中取出m个元素的所有排列的个数叫作从n个不同元素中取出m个元素的排列数。

这句话有些拗口,通俗说来,就是总共有n个元素 ,现在从里面挑出m个来,对这m个进行排队。这种先“从n里面挑出m个”,再“给这m个排队”,最后能产生的可能的不同的排队的种类数,叫做“从n个不同元素中取出m个元素的排列数”。

本质上排列数就是排队的种类的数量,或者可能性的数量。根据常识可以得知:m≤n

排列就是排队的意思,给一堆不同的元素,从中选几个进行排队。

比如班级同学按顺序排队,各科家庭作业挨个完成,排出你心目中的十大科学家/歌手/球星等等。

排列研究的就是给他们进行排队的方法。

2.1 全排列

就以给同学们排队为例,从前往后排纵队。

1人队

没什么好排的,1人只有1种排法,把ta放那儿就行

2人队

假设有A和B两人,给他们进行排队

排法1:AB

排法2:BA

3人队

假设有ABC三人,给他们进行排队

好像有些乱,让我们先确定第一位:

A排第一时,还剩B和C,有BC和CB两种排法,也就是ABC和ACB两种排法

B排第一时,还剩A和C,有AC和CA两种排法,也就是BAC和BCA两种排法

C排第一时,还剩A和B,有AB和BA两种排法,也就是CAB和CBA两种排法

总共就是2+2+2=3*2=6种排法

4人队

假设有ABCD四人,给他们进行排队

仿照3三人的排法,先确定第一位:

A排第一时,还剩BCD3人,根据3人队的经验,是6种排法

B排第一时,还剩ACD3人,根据3人队的经验,是6种排法

C排第一时,还剩ABD3人,根据3人队的经验,是6种排法

D排第一时,还剩ABC3人,根据3人队的经验,是6种排法

因此有6+6+6+6=4*6=4*3*2=24种排法

5人队

假设有ABCDE五人,给他们进行排队

仿照上面的排法,先确定第一位:

A排第一时,还剩BCDE4人,根据4人队的经验,是24种排法

B排第一时,还剩ACDE4人,根据4人队的经验,是24种排法

C排第一时,还剩ABCE4人,根据4人队的经验,是24种排法

D排第一时,还剩ABCE4人,根据4人队的经验,是24种排法

E排第一时,还剩BCDE4人,根据4人队的经验,是24种排法

因此有24+24+24+24+24=5*24=5*4*3*2=120种排法

n人队

用这种“先确定第一位,再给剩下的人进行排队”的方法(数学归纳法的思想)

假设给n人进行排队共有

种方法,那么给n+1人排队就有
种方法

又由于

,所以

......

插入概念:阶乘
这里我们要学一个新的运算符号:阶乘
阶乘只能对 正整数使用,它表示从这个数字依次乘以它减一、它减二、减三,一直到一
阶乘的记法就是在正整数后面加上惊叹号“!”
比如5!=5*4*3*2*1=120
10!=10*9*8*7*6*5*4*3*2*1=3628800
n!=n*(n-1)*(n-2)*(n-3)......2*1
特别的,规定0!=1,原因与指数中规定
类似

给n人进行排队,排队的可能性就是n!,这也叫做对n人进行全排列

这种排列是没有任何专门要求的,没有要求成绩好的排前面,也没有要求个子高的排后面,谁都可以站在任何地方,

除了人,给其他的东西也可以进行排列,是一样的

2.2 排列

上面的全排列是对全部n人(或物)进行排列

如果是从n人里选m个进行排列,这种更为一般的排列有多少排法呢?

2.2.1 排列的记法

从n个元素中取m个进行排列,记作

(沪教版用
,二者含义完全相同,A代表单词array,P代表单词permutation,请根据当地教材选用A或P)

这里要注意n和m的位置,n在下面,m在上面,可以类比真分数的分母与分子

2.2.2 举例

现在我们有ABCDEFG七人

7选1排队

假设从中选1人进行排队,只有1种排法,从中任选一位就行

7选2排队

假设从中选2人进行排队,就有......该怎么排呢?

还是先确定第一位,有7种可能:A或B或C或D或E或F或G

再确定第二位:

当第一位是A时,第二位有6种可能:B或C或D或E或F或G

当第一位是B时,第二位有6种可能:A或C或D或E或F或G

当第一位是C时,第二位有6种可能:A或B或D或E或F或G

当第一位是D时,第二位有6种可能:A或B或C或E或F或G

当第一位是E时,第二位有6种可能:A或B或C或D或F或G

当第一位是F时,第二位有6种可能:A或B或C或D或E或G

当第一位是G时,第二位有6种可能:A或B或C或D或E或F

总共有7+7+7+7+7+7=7*6种可能

7选3排队

方法同上,先确定第一位,有7种可能:A或B或C或D或E或F或G

再确定第二位:

当第一位是A时,第二位有6种可能:B或C或D或E或F或G

当第一第二位是AB时,第三位有5种可能:C或D或E或F或G

当第一第二位是AC时,第三位有5种可能:B或D或E或F或G

当第一第二位是AD时,第三位有5种可能:B或C或E或F或G

当第一第二位是AE时,第三位有5种可能:B或C或D或F或G

当第一第二位是AF时,第三位有5种可能:B或C或D或E或G

当第一第二位是AG时,第三位有5种可能:B或C或D或E或F

也就是当第一位是A是,总共有5+5+5+5+5+5=6*5=30种可能

当第一位分别是B、C、D、E、F、G时,也分别有6*5=30种可能

因此总共就是7*6*5=210种可能

使用这种方法,

7选4的排队就有7*6*5*4种可能

7选5的排队就有7*6*5*4*3种可能

7选6的排队就有7*6*5*4*3*2种可能

7选7的排队就有7*6*5*4*3*2*1种可能,这已经是对7人进行全排列了

从上面的例子中,有没有看出什么规律呢?

2.2.3 n人中选m人进行排队

现在我们跳出具体的数字“7”,从n人中选m个进行排列

(1)先确定排第一的人,有n种可能

(2)再来确定排第二的人,由于第一已经用掉1人,现在还剩下n-1人。

也就是在排好第一的前提下,第二有n-1种可能

(3)再来确定排第三的人,由于第一、第二分别用掉一人,现在还剩下n-2人。

也就是在排好第一和第二的前提下,第三有n-2种可能

......

(m)依次类推,当前面的m-1位都确定时,还剩下n-(m-1)人。

也就是在排好第一到第m-1的前提下,第m位有n-(m-1)种可能

现在根据开头学的乘法原理,从n人里选m人进行排列,总共有

n*(n-1)*(n-2)*...*[n-(m-2)]*[n-(m-1)]种排法

把n-(m-1)的括号去掉再变号,就是:

n*(n-1)*(n-2)*...*(n-m+2)*(n-m+1)

这里总共有m个数相乘

记作

也就本章开头讲到

的定义:从n个元素中取m个进行排列

2.3

的几个性质

性质1:

证明:因为 n!=n*(n-1)*......*(n-m+1)*(n-m)*(n-m-1)*...*4*3*2*1

又因为(n-m)!=(n-m)*(n-m-1)*......*4*3*2*1

对比上下两个式子,可以很容易看出:

特别的,当m=n时:

性质2:

根据

的定义:

性质3:

证明:

上面两式的等号右边是一样的,乘以1不影响它的值,因此

放在实际情况中想象,给n人排队,和从n人中选n-1人排队的种类是一样的。

从n人中取n-1个人排队时,相当于先取1人不给ta排队,再给剩下的n-1人全排列。

这个没被排队的人可以看作是被排在了不存在的“第0位”或替补席上。

小结

排列的原理(2.2.3)是最重要的,即“每确定1个位置可选元素就少1”,再利用乘法原理

这个原理是排列的核心,其他一切公式都可以由此导出

对于

的含义,几个性质也要非常熟悉,尤其是几个阶乘相除时,要知道哪些项保留,哪些项相消

在计算排列和阶乘时,一开始不要去掉括号化简,以便于观察和理解

对“排列”的理解不能僵化为“排成一列”

“排列”的关键就在于每个位置都是独一无二

比如,排成两列也可以,只要把第一列的末尾和第二列的开头首尾相接,就还是排列

再比如,方阵也可以把各列首尾相接,也是排列

判断一个排序或者队列是不是排列,就看它的各个位置中是否有“等价”的,如果没有等价的位置,那么它就是排列

比如小朋友们围成圈做游戏,如果没有特别说明,就不是排列

但是如果你规定某个位置是特殊的,比如是开头,那么这个圈就是排列,因为每个位置和这个特殊位置的关系都是独一无二的


组合

从n个不同元素中取出m个元素的所有组合的个数,叫作从n个不同元素中取出m个元素的组合数。

这句话依然拗口,通俗来讲,就是总共有n个不同的元素,现在要从里面选出m个来。这种“从n个里面选出m个来”总共的可能数,就是“从n个不同元素中取出m个元素的组合数”。

组合数就是挑东西的可能性的个数。根据常识可以得知,m≤n。

组合就是“挑选”的意思,从一堆东西里挑出几个,看有几种不同的挑法。

比如去餐馆吃饭,从菜单上各种式样的菜品中选几个。

“组合”只要把元素挑出来就行,不涉及到“排序”,感觉上似乎比“排列”要简单

但其实组合比排列要稍微复杂一些,因为排列是有序的组合是无序的,虽然在实际生活中排顺序比较麻烦,但是在数学中有序比无序(混乱)要容易处理得多。

3.1 点菜

就以点菜为例,来研究组合

现在我们去餐馆吃饭,假设餐馆里有5种菜,ABCDE。

5选1

只点1个菜。

太简单了吧,5种选择,A或B或C或D或E

5选2

点2个菜。

这个有些复杂了,有两种思路

思路一:挨个决定每个菜是否点

(1)点A,那么另一个菜有4种可能:B或C或D或E

(2)不点A,并且点B,那么另一个菜有3种可能:C或D或E

(3)不点A、不点B,并且点C,那么另一个菜有2种可能:D或E

(4)不点A、不点B、不点C,并且点D,那么另一个菜有1种可能:E

综上,总共有4+3+2+1=10种可能

思路二:先给点的菜排个序,然后把重复的组合去掉

第一步

根据排列2.2.3章节中的原理

(1)第一道菜有5种可能:A或B或C或D或E

(2)第二道菜有4种可能:就是除去已被选为第一道菜剩下的4个中的某个

因此总共有5*4=20种排列

第二步:

排列AB:第一道菜是A、第二道菜是B

排列BA:第一道菜是B、第二道菜是A

以上是两种排列,但是组合是不分先后的,AB和BA没区别

此外还有其他很多这种重复的,比如AC和CA、DE和ED

每有一个XY的排列,必还有一个YX的排列

第三步:

因此组合的种类是排列种类的二分之一,因此是20/2=10种

3.2 分析

现在来分析这两种思路,这两种思路都是走得通的

思路一需要把每种组合都列出来,是非常麻烦的,5选2还比较简单,如果数字再大,这种方法用起来会非常非常麻烦

思路二是用排列的方法,饶了一圈绕回来,虽然思路上绕了,但是不用一一罗列,并且排列是有公式可套的,因此用起来要简便的多

下面看个稍微复杂些的情况:

5选3

还是ABCDE五种菜,点3样

思路一:挨个确定菜品点不点:

(1)点A,剩下BCDE四选二:

点A,并且点B,第三样有3种可能:C或D或E

点A、不点B、并且点C,第三样有2种可能:D或E

点A、不点B、不点C、并且点D。第三样有1种可能:E

(2)不点A,并且点B,剩下CDE三选二

不点A、点B、并且点C,第三样有2种可能:D或E

不点A、点B、不点C、并且点D,第三样有1种可能:E

(3)不点A、不点B,只有一种可能:点CDE

因此总共有(3+2+1)+(2+1)+1=10种可能

思路二:先排列,再除去重复的排列:

第一步:

5选3就是

第二步:

先点A、再点B、最后点C

先点A、再点C、最后点B

先点B、再点A、最后点C

先点B、再点C、最后点A

先点C、再点A、最后点B

先点C、再点B、最后点A

以上是6种排列,但是作为ABC的组合是没有区别的

也就是选择ABC三样菜的组合在排列中被计算了

次,但是在组合中实际上是同一种组合。

第三步:

因此总的组合种类数就是

种可能

n选m

从上面的例子中已经可以看出,思路二已经要比思路一逻辑更加简单

思路一对简单的可以分情况罗列,对复杂的分情况罗列会麻烦死的

思路二的步骤就三个:

第一步:先做n选m的排列,得到

种排列

第二步:对于选中的m个元素,它们的全排列

在组合中其实是没有区别的,也就是说所有的
种排列在组合中只能算作是一种组合

第三步:把重复计算的次数消去即可,也就是

3.3 组合

我们把从n个不同元素中选取m个元素的组合的种类数用

表示

通过上面的推导,可以得知

再根据排列的公式:

可以推出组合也可以如下计算:

3.4 组合的性质

组合有两个重要的性质:

3.4.1 性质一:互补性质

从数学上很好理解:

因为

二者是相等的

从感性上也很好理解:

从n个元素里选m个,就有n-m个落选了

从n个元素里选n-m个,就有m个落选了

二者的区别只在于哪些被选上,哪些没被选上,但是分类的种类是相同的

3.4.2 性质二:组合恒等式

练习:

它的数学证明请根据排列和组合的定义公式自行推导

这个推导有点儿复杂,但并不难,如果能独立推出的话,这块的计算基本过关了

这个公式的直观理解不是很直观,有的教材(比如沪教版)没有给出,为了不死记硬背加深理解,这里给出:

由于n选m太过抽象,先用具体的

(5选2+5选3=6选3),即n=5,m=3引入

ABCDE和F

6选3:情况一:选A,

再从剩下的BCEDF里5选2,就是

情况二:不选A

就是从BCDEF里5选3,就是

因此

n+1选m

从n+1个元素中,任选某个元素X进行标记

则所有的选m个元素的组合可以分为两类:包含X的和不包含X的

对于包含X的组合,组合数是除去X外剩下的n个元素中,任选m-1个元素的组合数,再加上X构成m个元素,即

对于不包含X的组合,组合数是除去X外剩下的n个元素中,任选m个元素的组合数,即

由此,所有n+1选m的组合就被分为

个含X的和
个不含X的

因此

这个公式的关键就是标记某个元素,然后把组合分为有它没有它的两类

这种标记其中某个元素进行分类的方法有时候在排列组合和概率统计中会用到


二项式定理

二项式定理是排列组合的一个应用,组合学得好的话这个定理很容易推出,下面就来推一下:

对于

,它的展开式是什么样的呢?

n=2的展开式是每个同学都必须掌握的

n=3的展开式最好也要牢记

n=4或更大的应该就很少有人背下来了,但是没有必要,因为有二项式定理

现在我们把

先稍微写开一点:

这里有n个(a+b)相乘

它彻底展开后,每一项都是从每个(a+b)中取个元素乘起来的,因此它每项的a的次数和b的次数的和应当都是n

比如每个(a+b)都贡献a,那么得到的这项就是

如果只有第一个(a+b)贡献a,剩下其他的n-1项每个都贡献b,那么得到的这项就是

如果前m项贡献a,后n-m项贡献b,那么得到的这项就是

根据乘法原理,每个(a+b)贡献元素都是独立的,因此

彻底展开后,应该会有

当然,这些项里会有大量重复的

就以

为例,这个孤零零的a可以是第一项提供的,也可以是第二项提供的.......可以是最后项提供的

也就是说,总共应该有n个

因此合并同类项后,

项前的系数应该是n

对于

项,它的系数是什么呢?

就要用到前面的组合公式:它有m个a,从n个(a+b)中选m个贡献a,共有

种可能

因此

项的系数就是

同理,我们从贡献b的角度看也是一样,从n个(a+b)中选n-m个贡献b,共有

种可能

根据组合的互补性,

,所以是一样的

至此,我们得到了二项式定理:

这个公式中,a和b是等价的,因此把二者互换也一样,这也是体现组合的互补性

如果是

,只需要看作是
即可,不用把负号提出来专门考虑,看作是其中数的一部分即可。

要强调的是,二项式系数和各项系数是两个概念!

二项式系数的就是各项前面的

,都是正的

各项系数可能是考虑到正负号的问题,有的正有的负

比如(

它的二项式系数分别为1,2,1

它的各项系数分别为1,-2,1

这个负号是(-b)带进来的,二项式系数本身都是正的

这两个概念一定要辨析!

还有个小性质,前面已经讲过

每项的组成有

种可能,也就是如果不合并同类项的话,二项式展开后总共有

而我们的二项式定理的各项系数,就是合并同类项得到的,因此有:

求和符号

为了便于书写一长串有规律的元素的求和,引入求和符号

这个符号用起来非常简便,但是缺点很明显:不够直观

如果记忆力和对式子的把握不够熟练的话,不建议使用

它通常写作:

右边的f(x)是通项公式

下边的x=i表示x是变量,从i开始

上面的j表示x变到j为止

i和j通常都是0和正整数,求和x从i逐个增大到j,各项相加的结果

举二项式定理为例:

也可以写作

表示r从0、1、2增大到n的各项的和

此外,如果f(x)里只有一个字母x,不会引起歧义,下面的x=i可以直接地直接写作i

(

不过严谨起见还是不要简略


本章总结

排列组合重在理解原理

最基础的是乘法原理和加法原理,它们是绝对正确的现实经验,排列组合全都由它们推出

最重要的是排列的“选一个少一个”+乘法原理;组合的“先排列”+“排完后除去重复的”,这两个是排列组合的原理

其次就是排列组合计算的性质

排列组合很重要,因为概率和统计是学好排列组合的之后才能学的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值