【发布时间】:2018-06-15 09:48:21
【问题描述】:
我是算法的新手,我正在尝试找出最好的方法(就内存效率和速度而言)来确定整数向量(样本向量)是否存在于整数向量的向量中(人口向量)。我会用一个例子来说明这个问题。
A={1,2,3,4,5,6,7,8} ,这些是立方体的顶点。 可以从中形成的六个面是{1,2,3,4},{5,6,7,8},{1,2,6,5},{2,3,7,6}, {3,4,8,7} {4,1,8,5}
现在 B={3,4,8,7}。所以我必须找出 B 是否存在于总体向量的多少个 A 向量中? (种群向量由若干个As组成。)
我正在使用一个散列函数,比较它的 B 值和 A 的 6 个向量,并为人口向量的所有向量运行一个循环。有没有更好的方法?
【问题讨论】:
-
您说“总体向量和样本向量中的向量长度不同”,那么在您的示例中它们的长度相同。如何从 8 维向量中获得 6 个 4 维向量?最好向我们展示您正在使用的代码。
-
所以,我有从'gmsh'-开源网格划分软件获得的 As (8D) 向量。给定 8 个点,这些面(6 个 4D 向量)是通过以某种已知模式连接这些点而形成的。这就是我从 A 获得 6 个向量的方式。所以基本上我的任务归结为找出 B 是否存在于 A 的 6 个向量中的任何一个中。