2014-12-02 62 views
-4

他们家伙。 我对堆栈交换非常陌生,目前我正在研究图论。因为我是一个初学者级别的程序员(不熟悉哈希,桶,向量等数据结构明智),我要问的这组问题是非常介绍性的。寻找集群的LSH实现

我的想法是采用形式(时间戳t,节点i,节点j)的数据集,它表示在时间t时i和j之间存在边界。这个想法是搜索每个节点的邻居集并散列它们。如果他们的“矢量”(我不明白那是什么)散列到同一个桶中 - 它们是群集形成的候选者。

但他的问题是我想做实验并尝试运行它。但不知道如何实现散列函数,然后将它们合并在一起。

我并不是说帮助我与代码。但是一个指针(伪代码)会非常有帮助。就像告诉我初始化一个哈希表等等等

回答

0

哈希码是一个整数,它是根据你想哈希的任何属性计算出来的。该号码然后用作数组中的索引。

在这种情况下,您似乎希望使用矢量的N维来计算此散列码。您应该编写一个函数来计算哈希代码,以便应该聚类的向量都获得相同的哈希代码。

有关Java或Python中哈希表的语言特定细节很容易在Web搜索中找到。

+0

哦..我正在想要生成一个形式为h(x)= ax + bmodp的哈希函数。其中x只是行号,它会排列行的顺序..但是你可以更具体一些 - 比如说,我应该使用哪些数据结构等等。 – 2014-12-02 08:49:45

+0

如果你使用Java,你应该看看'HashMap'。如果你使用Python,你应该阅读'字典'。 – Simon 2014-12-02 10:16:12