共有四种基本的排列组合:
- 排列(有序,无放回)
- 重复排列(有序,有放回)
- 组合(无序,无放回)
- 重复组合(无序,有放回)
前三种的计算公式比较容易理解,最后一种的计算公式,书中借助示意图,从组合(第三种)的角度得到计算公式。
先用示意图表示:某一次选取r个元素的结果
示意图符号:
- 圆圈(“0”) 表示元素被选取
- 竖线(“1”)表示不同元素的分割
也就是图中的“竖线”(“1”)有n+1个,“圆圈”(“0”) 有r个。
然后,从这个图示转换组合的计算方式,就是除了两端的“竖线”,其中的r个圈可以在中间的位置上随意放。
那么,中间的位置是哪些位置?图中,放了n+1个竖线和r个圆圈,去掉两端的竖线(不可移动),共有:(n+1)+r-2=n+r-1个位置。
这就直接转换成,从n+r-1个位置上,选取r个放圆圈的位置了(无序无放回的组合)。或者是,从n+r-1个位置上,选取n-1个位置放竖线。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178118.html原文链接:https://javaforall.net
