组合数递推公式的推导

  突然想到可以从集合的角度来推导组合数的递推公式,特意记下来。

$$C_{n}^{m} = C_{n - 1}^{m - 1} + C_{n - 1}^{m}$$

  可以把$C_{n}^{m}$理解为从$n$个元素中选取$m$个元素所组成的集合的数量,也就是说这些集合中的元素个数恰好都为$m$个,并且这$m$个元素都是从$n$个元素中选出来的,而这样的集合的个数就为$C_{n}^{m}$个。

  显然,对于包含$m$个元素的这些集合中,对于某个元素$x$,这些集合中要么包含$x$,要么不包含$x$。因此我们可以把这些集合划分成两类,一类是包含$x$的集合,另一类是不包含$x$的集合,这样一定可以把这$C_{n}^{m}$个集合不重不漏地划分为两类。我们分别算一下在这两类中,每一类中含有的集合个数是多少,最后把这两类的分别含有的集合个数加起来,就可以得到$C_{n}^{m}$这个值。

  下面我们来分别计算这两类中各自含有的集合的个数。

  $1.$ 首先是包含元素$x$的一类:

  每个集合中包含的元素个数都为$m$,且必定包含元素$x$。由于是组合,不考虑顺序,我们统一把$x$放在最后一个位置。

  我们来把被划分到这类的集合表现出来,其中$o$代表任意一个元素,并且不存在为$x$的元素。

  现在要求的是有多少个这样的集合。由于每一个集合的最后一个元素为$x$,我们可以把每个集合中的$x$去除,这种做法并不影响这些集合的个数。

  现在问题就等价于,只考虑由前$m-1$个元素构成的集合的个数有多少个。

  由于这些集合中的前$m-1$个元素都不为$x$,我们可以把$x$从$n$个元素中去除,变成了$n-1$个元素。

  要知道组成这$m-1$个元素的集合的个数有多少个,就等价于从$n-1$个元素里面选出$m-1$个元素的方案数,也就是$C_{n-1}^{m-1}$。

  所以这一类所包含的集合的个数为$C_{n-1}^{m-1}$。

  $2.$ 然后是不包含元素$x$的一类:

  每个集合中包含的元素个数都为$m$,且必定不包含元素$x$。其中$o$代表任意一个元素,并且不存在为$x$的元素。

  现在要求的是有多少个这样的集合。由于每一个集合都不包含元素$x$,因此我们可以先把$x$从$n$个元素中去除,变成$n-1$个元素,现在这$n-1$个元素中是没有$x$的了。

  等价于要知道从这$n-1$个元素里面选$m$个元素的方案数,也就是$C_{n-1}^{m}$。

  所以这一类所包含的集合的个数为$C_{n-1}^{m}$。

  最后就是把这两类的各自含有集合的个数加起来,就得到从个$n$元素中选取$m$个元素的集合的数量,即$$C_{n}^{m} = C_{n - 1}^{m - 1} + C_{n - 1}^{m}$$

posted @ 2022-03-08 19:34  onlyblues  阅读(1969)  评论(0编辑  收藏  举报
Web Analytics