排列组合,简单的说,就是一个计数问题。
我们从小时候就学过数数,一个苹果,两个苹果,但是现在对于稍微复杂一点的计数就有点不知所措了,其实,再复杂的排列组合都可以从简单的例子找到根源,记住公式是没有作用的,记住了也不会用,唯有理解计数的本质,做到不遗落,不重复。
计数,就是把一个物体的数量与整数对应起来,一首扑克54张,4种花色,13个牌面,再加上两张大小王,构成了54张牌,这里没有遗落,也没有重复,这就是简单的计数。
现在思考一个植树问题,再10米长的马路上,每隔一米种一棵树,那么需要种多少棵树?这个问题很简单,但我一开始以为就是10棵树,一米一棵树,多么简单的道理啊。然而,我错了,0米处也可以种一棵树,所以树的棵树就是11颗。这里就有了遗落,造成了计数的错误。其实只要把米数与树的棵树对应起来就好了,0米一棵树,1米两棵树,,,10米11棵树,把这个作为一个普遍规则来看就能抽象出一个n米n+1棵树的规律。
要对多个集合计数,就要使用加法,比如说上面的扑克牌,就是把牌分为大小王和普通牌,相加就得出牌的总数。在这里有一个比较重要的法则--容斥原理。例如,在1-13中,2的倍数有6个,3的倍数有4个,既是2的倍数,又是3的倍数有两个,那么根据容斥原理,或者是2的倍数,或者是3的倍数有6+4-2=8个。在容斥原理里,最重要的就是不要重复。
要对多个相关集合计数,就要使用乘法。在用上面的扑克牌为例,13种牌面,4种花色,得出普通牌的总数为13*4=52张。
再来看一些稍微复杂一点的数。首先思考一下,把ABC三张牌按照各种顺序排列,共有多少种排法?显然6种。ABC,ACB,BAC,BCA,CAB,CBA,只要做到不重复不遗落,数数总是不会出错的。但从计数的角度看,我们应该这样计算,第一次可以取出3种牌,第二次可以取出2种牌,第三次可以取出1种牌,总计321=6种。这在数学上称为置换,计算方法是用阶乘。阶乘可是会随N的增大而爆炸式增长的。
再来看看今天的重点,排列。从手上 ABCDE 5种牌中抽取3张牌排列,有多少种排法?当然可以把所有的排法写出来,然后用最简单的计数得出排列数,但我们最好还是不要这样做。用刚才置换的思路来看看,第一次可以抽取5种牌,第二次可以抽取4种牌,第三次可以抽取3种牌,总计543=60种排列方法。从这个例子中抽象就可以得到排列的一般定义,从n张牌中抽取k张按一定顺序排列就叫排列,排列的总数为n(n-1)(n-2)...(n-k+1),用阶乘表示就是n!/(n-k)!,公式不必要记,毕竟光看公式多少有点晦涩难懂,只要理解了排列的意义,抽象出来就是这个公式了。或者,如果难以理解,可以尝试用树形图来列出排列,图形化的思考方法就比较好理解吧。
排列总是和组合连在一起,是的,组合就是排列的一种特殊情况,组合就是排列不考虑顺序的一种计数方法。既然这样,那我们计算组合数可以先计算排列数,然后除以重复度,这不就是组合数吗。归纳一下就是n!/(n-k)!k!,k!就是指的是重复度,就是前面置换的排列数。
排列组合就是这样简单,根本不需要去绞尽脑汁记住公式。
写给高考的孩子看的。