首页 > 代码库 > 排列组合公式

排列组合公式

今天在写一个算法的时候用到了排列组合,突然感觉不熟悉了,于是自己搜索了下,

重新复习下,把笔记记下来,便于以后复习。

第一,排列

  1)排列的定义,就是指从给定n个数的元素中取出指定r个数的元素,进行排序

  2)排列公式

        技术分享

   3 公式解读,

     总长度为r,第一个人有n-0种选,第二个有n-1种,,,,最后一个有n-(r-1)种(为什么是减去(r-1)

     因为到第r个人的时候,发现自己前面有r-1个人已经消耗了r-1个选择了,自己的选择余地变成n-(r-1),这和第一个人发现前面有0个选择已经消耗是一样道理)

    例如 从4个球中,选出2个球,排列的可能性,我们可以求得

    技术分享

       排列的时候,第一个球可以有4种可选,第二个球只能有三种可选,所以 是4×3=12,当然我们也可以用公式算,4!/(4-2)!=12 ,   一个道理

     技术分享

 

 第二,组合

     1)组合的定义,则是指从给定n个数的元素中仅仅取出指定r个数的元素,不考虑排序

     2) 组合公式:

            技术分享

     3)公式解读,

   和排序公式比较,我们可以看出,组合是在排序的基础上除以  r!,为什么除以r!, 是因为组合不考虑排序的问题

   例如,从四个球 里面2个球 即 C(4,2) ,选2个球组合,求组合数的可能性是多少?

   4个球取2个的排列是4*3=12种情况,

   2个球内部排列的情况是2!=2, 所以4个球取2个球的组合的情况是12/2=6

 

排列组合公式