排列组合公式
今天在写一个算法的时候用到了排列组合,突然感觉不熟悉了,于是自己搜索了下,
重新复习下,把笔记记下来,便于以后复习。
第一,排列
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
个人签名:天行健,君子以自强不息