大家好,又见面了,我是你们的朋友全栈君。
哈希计算就是努力的把比较大的数据存放到相对较小的空间中。 最常见的哈希算法是取模法。 下面简单讲讲取模法的计算过程。 比如:数组的长度是5。这时有一个数据是6。那么如何把这个 6存放到长度只有5的数组中呢。按照取模法,计算 6%5,结果是1,那么就把6放到数组下标是1的位置。那么,7 就应该放到2这个位置。到此位置,哈斯冲突还没有出现。 这时,有个数据是11,按照取模法,11%5=1,也等于1。那么 原来数组下标是1的地方已经有数了,是6。这时又计算出1这个 位置,那么数组1这个位置,就必须储存两个数了。这时,就叫 哈希冲突。冲突之后就要按照顺序来存放了。 如果数据的分布比较广泛,而且储存数据的数组长度比较大。 那么哈希冲突就比较少。否则冲突是很高的。 具体的算法你要参照更加专业的书籍。 希望对你有帮助。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150354.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...