我有2个数据立方体表示为3D矩阵。它们都具有相同的尺寸。我们必须做基于规则的订购。我们的条件是,如果它们的任何子立方体(子立方体必须在位置和方向上完全匹配)匹配至少p%,我们可以告诉它们是相似的。现在给出两个包含数据的3D矩阵,我们必须编写一个算法,打印出给定的两个立方体中相似的子类的数量。
我尝试过强力算法但事实证明它对大型数据集来说非常慢。我可以在这里使用任何特定算法或任何技术吗?
提前致谢。
答案 0 :(得分:0)
我们可以在this question中调整第一个解决方案。构造另一个名为count
的3D矩阵,并将与匹配数据对应的所有边缘单元格填充为1s。然后,从count(1,1,1)
开始,按字典顺序考虑单元格,并为count(i, j, k)
设置i,j,k
,使数据与已设置的任何邻居的最小值匹配。如果数据不匹配,请设置count(i, j, k) = 0
。
最后,count
的非零元素包含匹配的多维数据集,它们的值表示多维数据集的宽度。