algorithm - 除了替代哈希码字符串生成之外,Google 的 CityHash 有什么用?

标签 algorithm data-structures programming-languages hash

Google 已发布 http://code.google.com/p/cityhash/最近。它是 MurmurHash 的变体, http://sites.google.com/site/murmurhash/

如前所述,它不能用于密码学,在所有可能有趣的情况下使用它作为现有哈希的替代品?

寻找可以使用此哈希实现的算法,类似于 http://www.partow.net/programming/hashfunctions/

最佳答案

MurmurHash(以及扩展名为 CityHash)被设计为通用的非安全哈希。它们最常见的用途是作为哈希表中的键 - 但其他应用程序,例如 Bloom Filters , 也存在。

此类哈希的主要标准是它们生成速度快,分布良好,以避免哈希表等中的热点。第一部分排除了较慢的安全散列函数,第二部分(避免热点)排除了最琐碎的函数,例如将字节相加或异或,这使得设计快速但分布良好的散列非常具有挑战性。

关于algorithm - 除了替代哈希码字符串生成之外,Google 的 CityHash 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5681215/

相关文章:

c++ - 如何找到存储在 C++ vector 中的对象的类方法?

将字符串映射到短替换的算法

java - 当用邻接矩阵表示稀疏图时,为什么使用链表作为包含边的结构?

java - 两个线程访问频繁更新的 Arraylist 的问题

programming-languages - 程序员的好时事通讯/邮件列表

ruby - 如何从 n 个元素的数组中获取 'fair combination'?

objective-c - 检查多个搜索组合的最佳方法

string - 按固定顺序对选定的部分进行排序 - 空间不受限制

c - 需要麦克劳林级数和泰勒级数编程帮助吗?

pattern-matching - 什么是公理K?