Algorithm 定义有效案例的算法/迭代

Algorithm 定义有效案例的算法/迭代,algorithm,iteration,computer-science,Algorithm,Iteration,Computer Science,我正试图找出一种最佳的方法来生成一个有效案例列表,它基于在任意数量的部分中所做的选择。也许这不是一个真正的算法,而只是关于如何有效迭代的建议,但对我来说这似乎是一个算法问题。如果我错了,请纠正我。该实现实际上是用Javascript实现的,但它同样可以应用于任何语言,因此存在非语言特定的问题 所以有很多部分,每个部分都有不同的选择,每个部分的数据可以有任意数量的选择 如果在某个区段中未进行任何选择,则允许该区段的所有数据通过。如果做出选择,则数据必须有一个或多个选择 因此,例如: Section

我正试图找出一种最佳的方法来生成一个有效案例列表,它基于在任意数量的部分中所做的选择。也许这不是一个真正的算法,而只是关于如何有效迭代的建议,但对我来说这似乎是一个算法问题。如果我错了,请纠正我。该实现实际上是用Javascript实现的,但它同样可以应用于任何语言,因此存在非语言特定的问题

所以有很多部分,每个部分都有不同的选择,每个部分的数据可以有任意数量的选择

如果在某个区段中未进行任何选择,则允许该区段的所有数据通过。如果做出选择,则数据必须有一个或多个选择

因此,例如:

Section: vacancy types
Choices: 1, 3

Section: exhibitor categories
Choices: 1, 5, 9
我想提出以下有效案例:

1,1
1,5
1,9
3,1
3,5
3,9
正如我所说的,如果没有做出选择,所有数据都应该被允许通过,这也是我在迭代过程中最困难的地方。但我也希望有一个通用的迭代,可以用于任何数量的部分,而不是仅仅两个

我相信这很简单,毫无疑问,我在这里的语言并不理想(应该在计算机科学课上更仔细地听),但我如何设置迭代来提供上述内容呢

我不知道如何找到合适的资源来阅读这篇文章,因此,只需要一两个相关链接就可以了,当然我也对具体的答案感兴趣

谢谢。

您的有效案例是两个部分中的选项之一。你可以计算一个更高阶的乘积,它将产生一系列具有N个元素的选择组合,其中N是乘积的阶数(节数)


最自然的算法是使用递归,但也可能是您自己发现的。我使用了一些有趣的工具,正如所解释的。

我很难理解您的问题。你定义了部分和选择,给出了一个例子,在这里你可以得到两组选择的笛卡尔积,这看起来很简单。但那个部分的数据和数据是什么?很抱歉没有解释清楚。我正在根据这些选择分析数据,“有效案例”是可能的组合,数据必须“允许通过”我使用的过滤器。很抱歉,我把我的问题重述了几次,毫无疑问,它本可以用更好的措辞。你给了我我需要知道的,我想要笛卡尔积,这里给出了一个算法:我不能接受你的评论作为答案。如果你想回答我需要笛卡尔积的算法,我会接受