我一直在试图想出一种高效的算法来执行两个向量/数组的未排序交集,但是没有成功。我正在使用一个大的非唯一数组(通常有500,000到1,000,000个值)和一个相对较小的(最多可能有5000个值)唯一数组。
我看到这里提出了各种方法,包括使用unordered_sets等技术,但据我所知,如果其中一个数组是非唯一的,则无法正常工作。其次,我希望输出向量包含相对于较大数组的那些共同值的索引,而不是包含两个数组共同元素的输出向量。因此,如果较大的数组有5个位置等于较小的数组中的一个值,我需要这5个索引。也许类似于Python的in1d函数的东西。
有任何想法吗?谢谢
我看到这里提出了各种方法,包括使用unordered_sets等技术,但据我所知,如果其中一个数组是非唯一的,则无法正常工作。其次,我希望输出向量包含相对于较大数组的那些共同值的索引,而不是包含两个数组共同元素的输出向量。因此,如果较大的数组有5个位置等于较小的数组中的一个值,我需要这5个索引。也许类似于Python的in1d函数的东西。
有任何想法吗?谢谢
{1,2,2,3}
和{2,3}
的交集是什么? - Sergey Kalinichenko