Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 位置敏感哈希实现?_C#_Java_C_Hash_Locality Sensitive Hash - Fatal编程技术网

C# 位置敏感哈希实现?

C# 位置敏感哈希实现?,c#,java,c,hash,locality-sensitive-hash,C#,Java,C,Hash,Locality Sensitive Hash,在C/C++/Java/C#中是否有任何相对易于理解(并且易于实现)的位置敏感哈希示例 我想了解更多关于这个概念的知识,所以我想在一些文本文件上尝试一个实现,看看它是如何工作的,所以我不需要任何高性能或任何东西。。。这只是一个哈希函数的示例,它为相似的输入返回相似的哈希值。我可以在事后通过示例了解更多信息。:) MSDN博客上有一篇优秀的into文章: 还有至少一个C++库,你可以检查这里的源代码:字符串,可以使用近似匹配算法。 生成一个随机字符串 对于所有字符串,使用如下算法计算它们与随机共

在C/C++/Java/C#中是否有任何相对易于理解(并且易于实现)的位置敏感哈希示例


我想了解更多关于这个概念的知识,所以我想在一些文本文件上尝试一个实现,看看它是如何工作的,所以我不需要任何高性能或任何东西。。。这只是一个哈希函数的示例,它为相似的输入返回相似的哈希值。我可以在事后通过示例了解更多信息。:)

MSDN博客上有一篇优秀的into文章:


还有至少一个C++库,你可以检查这里的源代码:

字符串,可以使用近似匹配算法。

  • 生成一个随机字符串
  • 对于所有字符串,使用如下算法计算它们与随机共享字符串的距离
如果字符串与引用字符串的距离相等,则它们很可能彼此相似。现在您有了一个用于字符串的本地性senitive散列实现

可以为一系列距离创建不同的哈希桶


编辑:您可以尝试字符串距离的其他变化。一个更简单的算法只返回两个字符串之间的公共字符数。

Hadoop上还有一个Java实现。它在文档方面做得很好

它叫

目前Likelike仅支持 最小独立排列。 最小独立排列是 适用于 谷歌新闻


我知道您明确要求使用C/C++/C#,但其中有一个可能比其他更大的库更容易查找。

谢谢您的链接,但对于我的案例来说,它似乎有点太复杂了。。。在理解一个简单的库之前,我尽量避免使用大型库。:-)无论如何,谢谢,+1。与@Mehran的链接问题相同,但无论如何,谢谢,+1.+1这似乎正是我想要的,我会再看一看。非常感谢!:)@哈桑:我有点困惑。。。字符串
“abcd”
“xyzw”
与像
“6pGO”
这样的随机字符串的距离都是4,但它们完全不同。这是怎么回事?(几乎任何长度为4的随机字符串都是4…@Mehrdad此算法告诉您将输入字符串转换为参考(随机)字符串需要进行多少更改。您也可以尝试一种更简单的算法,其中的距离是随机字符串和输入字符串之间的公共字符数。@Hasan:是的,我了解该算法的作用,但问题是它根本不起作用,就像我所展示的那样。你知道有更好的算法吗?(你刚才提到的那个似乎很棒,我会考虑一下。)这样的散列解决方案可以很好地处理相似的字符串,但对于不相关的字符串,它不会给你带来有用的结果,但是如果你在这种情况下看,你没有相似的字符串,所以任何算法都不会工作。在第一种情况下,所有不相关的都属于hashcode 4,因为您可以维护另一个hashlist以进一步分解它。+1这非常好,我也在学习Python,所以它一箭双雕。谢谢分享!:)