【发布时间】:2011-01-04 02:04:45
【问题描述】:
出于好奇,我正在研究一个研究问题,但我不知道如何编写我想到的逻辑。让我给你解释一下:
例如,我有四个向量,
v1 = 1 1 1 1
v2 = 2 2 2 2
v3 = 3 3 3 3
v4 = 4 4 4 4
现在我要做的是按组合方式添加它们,即,
v12 = v1+v2
v13 = v1+v3
v14 = v1+v4
v23 = v2+v3
v24 = v2+v4
v34 = v3+v4
到这一步就好了。现在的问题是我想将这些向量中的每一个添加一个来自 v1、v2、v3、v4 的向量,它以前没有添加过。例如:
v3 和 v4 还没有添加到 v12 中,所以我想创建 v123 和 v124。类似地,对于所有的向量,
v12 should become:
v123 = v12+v3
v124 = v12+v4
v13 should become:
v132 // This should not occur because I already have v123
v134
v14 should become:
v142 // Cannot occur because I've v124 already
v143 // Cannot occur
v23 should become:
v231 // Cannot occur
v234 ... and so on.
重要的是我不要一开始就一步到位。例如,我可以做(4 选择 3)4C3 并完成它,但我想在每次迭代中一步一步地做。
我该如何编程?
P.S.:我正在尝试研究数据挖掘中先验算法的修改版本。
【问题讨论】:
-
一个更具体的标题会很好。
标签: c++ algorithm vector combinations