您可以在没有数据库的情况下执行此操作 关键是减小A的大小,因为A比B大得多.以下是如何做到这一点:
使用适当的哈希函数为B文件中的字符串计算64位哈希值.将它们存储在内存中(在哈希表中),您可以这样做,因为B很小.然后逐行散列A文件中的所有字符串,并查看每个字符串是否与B文件的散列相匹配.任何具有匹配哈希值(从B中的一个)的行应存储在文件C中.
当此过程完成时,文件C将具有可能匹配的字符串A的小子集(到B).现在你有一个小得多的文件C,你需要比较B的行.这样可以将问题简化为一个问题,即您可以将C中的所有行加载到内存中(作为哈希表)并比较B的每一行以查看它是否在C中.
| 归档时间: |
|
| 查看次数: |
1316 次 |
| 最近记录: |