1
比方说,我有一个二维数组,看起来像:如何找到二维数组所有列的最佳匹配?
________________
|10|15|14|20|30|
|14|10|73|71|55|
|73|30|42|84|74|
|14|74|XX|15|10|
----------------
正如我发现,列不必是相同的尺寸。
现在我需要找到每列最好的匹配(最完全相同的项目和最低的不同)。当然,我可以在n^2中做到这一点,但对我来说太慢了。我该怎么做?
我想到了一个k维树,并找到每个人最近的邻居,但我不知道它是否好,它会工作,因为我想(可能不是)。
结果例如:
- 第一列是最有可能的第三(只有三个不同的 - 10,14,42)
- 第二列 - >第五(仅两种不同的 - 15和55)
等等等等... :)
我不明白你的问题。你的例子说第1列是最相似的,为什么?此外,列1中没有42,列2中没有55. –
第一列有项目:10,14,73,14 第三列有:14,73,42 现在我不寻求大多数匹配元素,我寻求至少不匹配的元素。在这种情况下,我们在这两种情况下都有14个(所以“删除”它们用于稍后的比较),两个都是73(所以再次“删除”),我们只剩下3个只在一侧的项目。如果我们比较第一列与其他人,我们发现他们之间还有更多的项目:) 另外我可以用多维树来完成比较他们的距离(当然有一些工作),但我不是“在树上“这么多:) – RippeR