很久以前,我以1.25美元的价格从交易台上买了一本数据结构书.在其中,哈希函数的解释说,由于"数学的本质",它最终应该由质数修改.
你对1.25美元的书有什么期望?
无论如何,我有多年的时间来思考数学的本质,但仍然无法弄明白.
当存在大量的桶时,数字的分布是否真的更均匀?或者这是一个老程序员的故事,每个人都接受,因为其他人都接受它?
假设简单的统一散列,即任何给定值同样地散列到散列的任何槽中.为什么使用大小为127而不是128的表更好?我真的不明白2号码的力量有什么问题.或者它实际上如何产生任何差异.
使用除法时,我们通常会避免使用某些m值(表大小).例如,m不应该是2的幂,因为如果m = 2 ^ p,则h(k)只是k的p个最低位.
假设可能的元素只在1和10000之间,我选择表格大小为128. 127如何才能更好?所以128是2 ^ 6(1000000),127是0111111.这有什么区别?所有数字(当经过哈希处理时)仍然是127的p的最低位数.我弄错了吗?
我正在寻找一些例子,因为我真的不明白为什么这么糟糕.非常感谢提前!
PS:我知道: 哈希表:为什么大小应该是素数?