⑴ 常见的哈希算法有哪些
1.linear hash 线性
2.quadratic hash 每次以1,4,9,16这样的幅度向下找
3.double hash 用两个函数一起决定HASH的index
⑵ 字符串hash函数是解决什么问题的
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
⑶ hash算法的数学原理是什么,如何保证尽可能少的碰撞
基于概率分析
在使用哈希函数时选择“正确”的哈希函数可以很大程度减少碰撞
比如字符串哈希可以用BKDRHash
当然也可以针对输入数据特点设计哈希算法
这个就要分情况了