【发布时间】:2016-07-02 00:01:57
【问题描述】:
给定一组 K 个对象,生成所有大小为 N(其中 N > K)的集合。例如,从集合 {1,2} (K=2},生成所有大小 N=3 的集合将导致以下输出集合:{1,1,1} {1,1,2},{ 1,2,1},{2,1,1},{2,2,1},{2,1,2},{1,2,2},{2,2,2}。什么是生成此类集合的有效算法?
Ken White 的注意事项:我的研究只发现了处理 C(m n) 的算法,其中 n
也许我之前的帖子不清楚,但您的回复 - “请原谅我完全没有努力,但是有人可以为我写这段代码吗?稍后再回来取它。Tx 再见。- Ken White 6 月 27 日22:54" 非常专业且乐于助人。
【问题讨论】:
-
这是一个不可能的目标,因为
{2,2,2}不是一个可能的集合。如果您使用的是列表,则问题很容易解决,但是尚不清楚还有哪些工作需要完成。从一组 M 个项目中抽取 N 次样本非常容易,并且有放回。 -
您在基础
K中计数0到(K^N) - 1。
标签: combinatorics