【问题标题】:All possible combinations from sets集合中所有可能的组合
【发布时间】:2012-03-27 13:15:22
【问题描述】:

我有一组数字:

1,22
1,46
32,1
1,9
32,22
1,14
1,45
1,33
33,22
45,22
32,46
32,9
3,1
3,9
3,22
3,32
3,46
9,22
46,22
46,45
46,33
15,1
15,46
15,6
15,22
15,3
15,9
15,45
15,33
15,32
15,14

我需要从它们中获取组合,其中每个新对只有在后一个数字与对中的第一个数字相同时才能附加。

例如如果我有一对{15,1},下一个只能是{1,46}和下一个{46,45},最后一对必须以整个集合的第一个数字结尾.在这种情况下,它可能是例如 {45,1}。

因此,具有 4 个集合限制的集合的最终结果将是

{15,1,1,46,46,45,45,1}

我可以做基本的幂集并从一组数字中生成所有可能的组合,但这对我来说似乎太高级了。

我可以使用 C、Javascript 或 PHP,因此非常感谢所有帮助或解决方案。澄清一下,这不是作业,这只是我想学习和理解的东西。

【问题讨论】:

标签: php javascript c combinations powerset


【解决方案1】:

这看起来好像一些图形数据结构和一些图形算法是合适的。您的图表将包含节点(每个节点都是一个数字)和边(每个节点代表一对)。然后编写适当的例程来遍历图形。从你的问题中看不清楚步行的规则是什么,但我想你知道。

编辑

当然,我应该指出,你所拥有的已经是一个图数据结构,它被称为邻接表。谷歌搜索算法和表示。

【讨论】:

  • 这其实是个好主意。我会研究它,但我不确定它是否有助于我实际创建所有不同的组合。
  • 如果您要跟踪的所有路径都必须以 1 结束,则从那里开始并向后工作。玩得开心。
猜你喜欢
  • 1970-01-01
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-27
  • 1970-01-01
  • 2018-06-08
  • 2014-08-01
相关资源
最近更新 更多