这不是针对特定解决方案的特定问题;但这是对以下事实的回应:我找不到有关如何为哈希表和类似任务选择良好的哈希函数的良好堆栈溢出问题。
所以!让我们谈谈散列函数,以及如何选择一种。需要为自己的特定任务选择良好哈希函数的编程新手应该如何选择一个呢?简单快速的Fowler-Noll-Vo什么时候合适?他们什么时候应该在MurmurHash3中销售?在比较各种选项时,您是否有指向良好资源的链接?
最佳答案
哈希表的哈希函数应具有以下两个属性
出于哈希表的目的,所有加密功能都是 BAD 选择,因为计算量很大。因为这里的哈希不是用于安全性,而是用于快速访问。 MurmurHash被认为是适用于大型哈希表或哈希索引的最快且统一的函数之一。对于小表,一个简单的哈希函数应该可以。一个简单的哈希是我们混合对象值的地方(通过乘,加,减一些质数)。
关于hashtable - 分析目标并选择良好的哈希函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7301413/