|
楼主 |
发表于 2014-11-18 10:41
|
显示全部楼层
本帖代码的作用,其实并不大。
可以明确无分歧的功能有:
1. 进行m个元素中抽取不重复n个元素的 Combin(m,n)分组。
这个本身并非本递归代码的特长(列出所有Combin组合有更高效的组合算法)
但有一个特点是,在列出Combin(m,n)分组的同时,顺便得到Combin(m,m-n)分组
2. 进行m个元素中抽取不重复n个元素的 Permut(m,n)分组。
这个本身并非本递归代码的特长(列出所有Permut组合有更高效的排列组合算法)
3. 对m个元素进行k等分 分组,并且可以设置:
① 各个分组之间是排列关系 (组间重复)
② 各个分组之间是组合关系 (组间不重复)
4. 对m个元素进行元素个数不等的特殊分组,并且可以设置:
① 每一个后续组和前一个分组之间是排列关系 (组间任意位置元素重复)
② 每一个后续组和前一个分组之间是特定组合关系 (组间首个元素不重复)
上述元素个数不等的特殊分组,还可以因为各个小组人数的排列不同,而产生多种变化。
呵呵。以上功能不一定都会有什么实际用处,但是我的递归算法思路是清晰的。
不能理解的人,是他自己的问题。
|
|