哈希函数对于实现哈希表很重要。我知道在java中
对象有其哈希码,该哈希码可能是由弱哈希函数生成的。
以下是“补充哈希函数”的一个片段
static int hash(Object x) {
int h = x.hashCode();
h += ~(h << 9);
h ^= (h >>> 14);
h += (h << 4);
h ^= (h >>> 10);
return h;
}
谁能帮忙解释一下哈希算法的基本思想是什么
?生成不重复的整数?如果是这样,这些按位如何
运营做到了吗?
哈希函数是任何定义良好的过程或数学函数,它将大量的、可能大小可变的数据转换为小数据,通常是可用作数组索引的单个整数。哈希函数返回的值称为哈希值、哈希码、哈希和、校验和或简称哈希。 (维基百科 http://en.wikipedia.org/wiki/Hash_function)
使用更“人类”的语言对象哈希是基于对象属性的简短且紧凑的值。也就是说,如果您有两个存在某种差异的对象 - 您可以预期它们的哈希值会有所不同。好的哈希算法会为不同的对象产生不同的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)