Tag: 笛卡儿积

Java中的迭代笛卡尔积

我想计算Java中任意数量的非空集的笛卡尔乘积。 我已经写了迭代代码… public static <T> List<Set<T>> cartesianProduct(List<Set<T>> list) { List<Iterator<T>> iterators = new ArrayList<Iterator<T>>(list.size()); List<T> elements = new ArrayList<T>(list.size()); List<Set<T>> toRet = new ArrayList<Set<T>>(); for (int i = 0; i < list.size(); i++) { iterators.add(list.get(i).iterator()); elements.add(iterators.get(i).next()); } for (int j = 1; j >= 0;) { toRet.add(Sets.newHashSet(elements)); for (j = iterators.size()-1; j >= 0 && […]

Java中任意集合的笛卡尔积

你知道一些整洁的Java库吗,让你做两个(或更多)集的笛卡尔积? 例如:我有三套。 一个具有Person类的对象,其次是具有类Gift的对象,另一个具有类GiftExtension的对象。 我想生成一个包含所有可能的三元组Person-Gift-GiftExtension的集合。 集的数量可能会有所不同,所以我不能在嵌套的foreach循环中做到这一点。 在某些情况下,我的应用程序需要制作一个Person-Gift对的产品,有时候它是三倍的Person-Gift-GiftExtension,有时候甚至可能会设置Person-Gift-GiftExtension-GiftSecondExtension-GiftThirdExtension等。

用PHP关联数组寻找笛卡尔积

说我有一个如下的数组: Array ( [arm] => Array ( [0] => A [1] => B [2] => C ) [gender] => Array ( [0] => Female [1] => Male ) [location] => Array ( [0] => Vancouver [1] => Calgary ) ) 我怎样才能find笛卡尔积,同时保留外关联数组的键,并在内部使用它们? algorithm的结果应该是这样的: Array ( [0] => Array ( [arm] => A [gender] => Female [location] […]

生成一个matrix,其中包含从n个向量中获取的元素的所有组合

这个问题经常以某种forms出现(例如参见这里或这里 )。 所以我想我会以一般forms呈现,并提供一个可供未来参考的答案。 给定任意数量的可能不同大小的vector,生成一个n列matrix,其行描述了从这些vector(笛卡尔乘积)中取出的所有元素的组合。 例如, vectors = { [1 2], [3 6 9], [10 20] } 应该给 combs = [ 1 3 10 1 3 20 1 6 10 1 6 20 1 9 10 1 9 20 2 3 10 2 3 20 2 6 10 2 6 20 2 9 10 2 9 […]

生成一些向量元素的所有可能的组合(笛卡尔积)

我想要生成给定数量的向量元素的所有可能的组合。 例如,对于[1 2] , [1 2]和[4 5]我想要生成的元素: [1 1 4; 1 1 5; 1 2 4; 1 2 5; 2 1 4; 2 1 5; 2 2 4; 2 2 5] 问题是,我不知道我需要计算组合的向量数。 在这种情况下可能有3个,也可能有10个,我需要一个概括 。 你能帮我在MATLAB这个吗? 是否已经有一个预定义的函数可以完成这个任务?

Numpy:x和y数组的笛卡尔积指向2D点的单个数组

我有两个numpy数组定义网格的x和y轴。 例如: x = numpy.array([1,2,3]) y = numpy.array([4,5]) 我想生成这些数组的笛卡尔积来生成: array([[1,4],[2,4],[3,4],[1,5],[2,5],[3,5]]) 在某种程度上,这是不是非常低效,因为我需要循环多次这样做。 我假设将它们转换为Python列表并使用itertools.product并返回到一个numpy数组不是最有效的形式。