排列组合问题探索

这里,主要是对经典的排列组合问题进行了总结,并归纳了解决这些问题的方法。解决这一类问题非常重要的一点是:要会灵活变通,有些新问题貌似没见过,但其实就是换了个马甲

文章目录

      • 一、优限法
      • 二、捆绑法
      • 三、插空法
      • 四、间接法
      • 五、实战

一、优限法

优先法,优先考虑对位置有要求的元素,再考虑余下的元素。

【例】
A、B、C、D、E五个人排队,要求A必须站在队首或队尾,问多少种排列方式?

思路:
先安排A,有 A 2 2 A_{2}^{2} A22种情况,剩下的4个元素有 A 4 4 A_{4}^{4} A44中排列方式,由分步原理,共有
A 2 1 A 4 4 = 48 A_{2}^{1}A_{4}^{4}=48 A21A44=48
种情况。

二、捆绑法

捆绑法就是把要求相邻的元素放在一起,当成一个大元素考虑,相当于在原来的基础上消灭了相邻的元素,新加了一个元素,同时注意:大元素内部可能也要考虑顺序,考题目要求。

【例】
A、B、C、D、E五个人排队,要求A和E必须相邻,问有多少种排列方式?

思路:
A和E相邻,我们可以把A和E捆绑在一起,当成一个元素,注意:A和E是不同的个体,也有顺序之分,有 A 2 2 A_{2}^{2} A22种情况,然后对新的组成进行排列,有 A 4 4 A_{4}^{4} A44中情况,由分步原理,共有,
A 2 2 A 4 4 = 48 A_{2}^{2}A_{4}^{4}=48 A22A44=48
种情况。

三、插空法

这种情况和第二种正好相反,要求某几个元素不能相邻。我们可以先把其余的元素进行排列组合,然后再把不能相邻的元素插到排列好的元素之间的空隙之中。

【例】
A、B、C、D、E五个人排队,要求A和B不能站在一起,问有多少种排列方式?

思路:
先对没有要求的元素进行排队,有 A 3 3 A_{3}^{3} A33种情况,排列好的元素之间形成了 A 4 2 A_{4}^{2} A42种情况,所以,共有,
A 3 3 A 4 2 = 72 A_{3}^{3}A_{4}^{2}=72 A33A42=72
种情况。

四、间接法

其实就是在找互斥(对立)事件,原问题看起来可能很复杂,要讨论的情况很多。但是其互斥事件相对简单简单一些。然后用总的可能情况减去互斥的情况。

【例】
A、B、C、D、E五个人排队,要求A和B必须有一个排在前两排的位置,问有多少种排列方式?

思路:
如果按照题目要求直接来做的话,需要讨论A排在前两排,或B排在前两排,或A和B同时排在前两排三种情况,比较繁琐。这里我们可以考虑其对立事件,即A和B都没有排在前两排的情况。那么,我们可以先对没有约束的元素进行排序,有 A 3 3 A_{3}^{3} A33种情况,然后对A排序,有 A 2 1 A_{2}^{1} A21种组合,对B排序,有 A 3 1 A_{3}^{1} A31种组合。不考虑约束,共有 A 5 5 A_{5}^{5} A55种组合,所以,满足条件的排列有,
A 5 5 − A 3 3 A 2 1 A 3 1 = 120 − 36 = 84 A_{5}^{5}-A_{3}^{3}A_{2}^{1}A_{3}^{1}=120-36=84 A55A33A21A31=12036=84
种情况。

五、实战

拿了一个网易的面试题练练手,看看大部分的题不是那么中规中矩的

【例】

从数字集合{1,2,3,4,… ,20}中选出4个数字的子集,如果不允许两个相连的数字出现在同一集合中,那么能够形成多少个这种子集?

思路:
看起来好像和前面的方法没有关联,其实是有的。从20个数字中挑选出4个不相邻的数字,其实和这个问题是一样的:“将4本书添加到16本书里,有多少种添加方式?”,16本书,共产生17个间隙,选择4个间隙,共有
C 17 4 = 2380 C_{17}^{4}=2380 C174=2380
种情况。
不是 A 17 4 A_{17}^{4} A174是因为集合内的元素没有先后顺序。

参考资料:
1.网易数据分析面试题:
https://www.nowcoder.com/questionTerminal/dd21a5b395a143ea8d732bfc98ba41bc

你可能感兴趣的:(统计学)