组合数学

排列

排列规则:一个排列是n个不同对象的有序排列, 这n个对象有
 种排列方式

例子1

问题A:iPhone有4位开机密码,如果我们知道屏幕上4个数字对应的有斑点(经常按这4个数字键导致的),那么可能有多少种不同的密码?

答案:由于密码的顺序很重要,同时从屏幕上看出有四个斑点,因此是这4个数字的不同排列组成密码,所以共有种可能。


问题B:若知道了屏幕上3个数字对应有斑点,有多少种可能的密码组合?

答案:由于只有3个数字,那么其中肯定有一个数字是重复的,但是不知道是哪个。解决该问题有3中情况(每一种情况有相同的排序)。

假设A, B, C表示3个数字。假设重复的数字是A,则此时用A1 A2 B C来表示,此时有4!种排序,由于A1和A2相同都是A,因此需要区别重复排序的,这样,就有:4!/(2! 1! 1!)种排列,

以此类推,重复B和C时,也有这么多种可能的排列

所以,共有 中可能的排列


问题C:若屏幕上有2个数字对应的斑点,有多少中可能的密码组合?

答案:有两种可能:一种是每个数字各用2次,还有一种可能是一个数字使用1次,另一个数字使用3次。

这种,最终共用:种排列


例子2

二叉搜索树(binary search tree, BST)

从二叉搜索树的定义可知,树中的每个节点n需要满足如下三个属性。

1)节点n的值大于左子树上的所有节点的值

2)节点n的值小于右子树上的所有节点的值

3)节点n的左子树和右子树也是二叉搜索树


问题:对于值为1,2,3的节点可以构建多少种退化结构(所谓退化结构,即是BST中各个节点最多只有一个子节点)的BST。

答案:对于1,2,3, 有3!种方式构建BST。如下图



从上图中可知看出,有4个退化结构的BST(前两个和后两个)


模糊对象排列

模糊对象排列:通常,当有n个对象,其中
 个对象是相同的(模糊的)
 另外个对象是相同的
 ...
 个对象是相同的,这样,共有种排列方式

例子3

问题:三个0和二个1可以排列成多少个不同的bit流?

答案: 


组合

组合规则:组合是从n个对象中选出r个无序的对象,若所有的对象都是不同的,则有

种组合方式

这种方式常表述为“n中选择r”

对于求解组合方式的结果,从n个对象集中选择r个无序对象,例如“从7中选择3”的步骤如下:
1. 首先对n个对象进行排列,共有n!中方式
2. 然后从排列结果中选择第一个r个排列,
3. 注意到所选择的r个对象的顺序是不相关的,因此有r!中方式进行排列,但所选择的对象是没变的。
4. 注意到(n-r)个没选择的对象也是不相关的, 因此有(n-r)!中方式进行排列,但所选择的对象是没变的。因此,总共有
种方式

对于”7选择3“的结果为:


例子4
问题:在饥饿游戏中,从8000人口中选出2个村民,有多少中方式
答案:这个一个直接的组合问题,8000选择2 = 31996000

例子5
问题A:从6本书中选择出3本,有多少中方式
答案:若每本书都不同,则是一个直接的组合问题,从6本书中选择3本:

问题B:若从6本书中选择的3本书种,有两本书不能同时被选择(例如,不能同时选择同一本书的第8版和第9版)

答案:该问题容易解决,分情况进行处理

情况1:选择第8版的书,则选择其他两本非第9版的书即可,即从4中选择2

情况2:选择第9版的书,则选择其他两本非第8版的书即可,即从4中选择2

情况3:从既不是第8版,也不是第9版的书中选择3本书,则即从4中选择3

这样,共有:


种方式


还有另外一种求解方式:

先计算6中选择3的情况,然后减去不允许的选择情况,对于该例子,第8版和第9版的书不能同时选择,

则不允许的选择情况是:选择第8版和第9版的书,同时选择另外一本,即从4中选择1.

所以: 所有可能情况 - 不允许的情况 = 20 - 4 = 16


两种计算方式,得到相同的答案。


参考

内容来自与:Stanford cs109课程

链接:http://web.stanford.edu/class/cs109//pdfs/05%20Combinatorics.pdf

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值