如你想深入理解,应去看算法,或数据结构的相关章节。哈希表的思想:每个元素作为变量,通过一定的函数关系计算出函数的值,把这个值作为数组的下标,将元素存入对应的数组元素中。那函数称为哈希函数,函数的值称为哈希地址。
例如,有4个数:1,30,5,12,假设用“%10"为哈希函数,那么哈希运算后得值:1,0,5,2。“%10"后的值有10种可能,所以设10个存储地址,0就保存到地址0,1就保存到地址1,2就保存到地址2,5就保存到地址5。这样做的好处是,查找非常快,如找12,12%10=2,就到地址2 去取,什么索引查找、折半查找都不能相比,特别是数据量大时。当然哈希函数是很复杂的,不会取余那么简单。 |