您的位置:首页 > 职场人生

程序员的数学 - 排列组合 - 解决计数问题的方法 - 阅读小结

2018-02-04 11:21 731 查看

加法法则

当要数出两个集合的事物时,需要使用加法法则。

乘法法则

当遇到“分别有”的情况时,需要使用乘法法则。

置换

将n个事物按顺序进行排列,称为置换

n个事物按顺序进行排列的排列方法的总数,称为置换的总数

n个事物所有的排法(讲究事物的顺序),称为置换的总数

n张排置换的总数一般用n!n!阶乘来表示。

n!=n∗(n−1)∗(n−2)...∗2∗1n!=n∗(n−1)∗(n−2)...∗2∗1

排列

将从n个事物中取出k个事物按一定顺序排列的方法称为排列,记做:PknPnk,P是permutation的缩写。

Pkn=(n−0)∗(n−1)∗(n−2)∗....∗(n−(k−1)) Pkn=n!(n−k)!Pnk=(n−0)∗(n−1)∗(n−2)∗....∗(n−(k−1)) Pnk=n!(n−k)!

组合

置换和排列都需要考虑顺序,而不需要考虑排列顺序的方法称为组合。

想要得到组合,可以这么考虑:

和排列或置换一样,考虑顺序进行计数

除以重复计数的总数(重复度)

C35=5张排中取3张的排列总数−−考虑重复的排列的数3张排的排列总数−−−重复度C53=5张排中取3张的排列总数−−考虑重复的排列的数3张排的排列总数−−−重复度

Ckn=从n张中取出k张的排列总数k张的排列总数=PKnPkk=n!(n−k)!k!Cnk=从n张中取出k张的排列总数k张的排列总数=PnKPkk=n!(n−k)!k!

先考虑顺序进行计数,再除以重复度的方法,是计算组合时常用的计算方法。

例如:ABC、ACB、BAC、BCA、CAB、CBA这6中ABC的拍法,但是在组合中,这6种是被看做一种的,也就是重复计算了6次,即若像排列那样考虑顺序会产生6倍的重复计数,(6就是重复度),这个数字6则是3张牌置换的总数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: