Asp*_*Mat -4 c++ hash hashtable
我感兴趣的是将字母哈希值散列到相对较小的不同素数.例如, a->2,b->3, c->5, d->7, ....因为我将乘以/除以几个字符的哈希值.
std::hash然而,我尝试将字符散列为非常大的整数,如果我乘以/除,它会导致溢出,是否有更简单的方法可以做到这一点?
我可能的一种方法是使用Eratosthenes筛子生成第一批素数,然后使用a std::unordered_map来存储char,int对.但是,标准库中是否有任何现成的散列函数可以满足我的需求?
我只会将前26个素数存储在std::vector被调用的中primes,然后如果你有字符c,只需使用正确的素数primes[c-'a'].
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |