universal-hashing

    1热度

    2回答

    我想了解通用哈希如何工作。它被定义为h(x) = [(a*x + b) mod p] mod m其中a,b - 随机数,m - 散列表的大小,x - 密钥和p - 素数。例如,我有几个不同的钥匙: 92333 23347 20313 而且为了创建一个通用散列函数我一定要到以下几点: Let a = 10, b = 22, p = 313, m = 100 h(92333) = [(10

    4热度

    1回答

    以我目前的理解通用散列是其中的哈希函数是随机选择在运行时,为了保证合理的性能对于任何一种输入的方法。 我明白,我们可能为了防止有人故意选择恶意输入操作(确定性哈希函数的可能性知道)做到这一点。 我的问题是这样的:它是不是真的,我们仍然需要保证的关键将每次我们哈希它的时候被映射到相同的地址?例如,如果我们想要检索信息,但散列函数是随机选择的,那么我们如何保证我们能够回到我们的数据呢?

    0热度

    1回答

    如果你不熟悉universal hashing,它主要是试图保证少量的碰撞(相反,使用普通的旧模),使用一些相当简单的数学涉及随机性。问题是,它并没有为我工作: size_t hash_modulo(const int value) { return (size_t) (value % TABLE_SIZE); } // prime 491 is used because its

    1热度

    2回答

    嗨,我正在阅读有关CLRS上通用哈希的章节。 在页234 推论11.4 通过在 表具有m时隙链接使用通用散列和冲突解决,它需要的预期时间西塔(N),以处理任何 序列INSERT,SEARCH和DELETE操作包含O(m) INSERT操作。 我有点想法,但我很难理解这个英语句子。 “包含O(m)INSERT操作”的结尾是什么意思? 这是否意味着n = O(m)插入已经执行。然后,....我不知道。

    -3热度

    1回答

    im使用布隆过滤器模拟集合交点近似。我已经尝试了很多简单的散列函数来将值散列到过滤器。但它不擅长避免碰撞。所以有人提出了一个通用的散列函数。但我不知道它是如何工作的。我的程序被设计为只将密钥传递给散列函数,散列函数返回散列。任何人都可以帮助我的代码? 谢谢

    3热度

    1回答

    我所知道的是: 一致性哈希法:统一的分布式存储系统 锥散列:非均匀分布式存储系统 我想知道: 它是如何作品? 它有什么用? 这两种哈希有什么区别? 我无法理解这两者之间的区别。请有人帮我这个!