什么是好的哈希函数?我在大学的数据结构课程中看到了很多哈希函数和应用程序,但我大多认为很难创建一个好的哈希函数.作为避免碰撞的经验法则,我的教授说:
function Hash(key)
return key mod PrimeNumber
end
Run Code Online (Sandbox Code Playgroud)
(mod是C和类似语言中的%运算符)
使用素数作为哈希表的大小.我觉得这是一个很好的功能,以避免碰撞和快速,但我怎么能做一个更好的?字符串键对数字键有更好的散列函数吗?
Ora_hash是确定性的,因为保持输入和种子不变将产生确定的输出.
但是,对于任何种子(包括默认值),ora_hash的输出必须具有以下属性:
"没有任何方法可以用来预测ORA_HASH的结果会比任何级别的成功高于纯随机猜测吗?"