哈希线段

时间:2011-09-07 16:53:11

标签: hashtable

我有一些给定端点的线段。我需要使用散列将线段逐个存储在合适的数据结构中。在生成时,应该随机选择每个段的两个端点,并且只有在尚未存在的情况下才应在T中插入新生成的段。在T。

有人可以建议一个合适的散列函数,通过它我可以唯一地存储线段的端点。

1 个答案:

答案 0 :(得分:0)

一种简单的方法是使用乘数和加法。

hash = 2011 * x + y;

它的好处是计算速度非常快。其他解决方案可能是对数字使用更复杂的迭代,类似于Java字符串散列算法

for(int i = 0; i < n_digits; i++){
    hash = hash * 31 + x_y_digit[i];
}