hash算法

xiaoxiao2021-02-28  88

1,hash算法的原理          hash算法把每一符号进行一定的算数得到一个hash值,然后根据符号表的入口数量,得到一个离这个数量最近的一个素数(nbucket),以这个素数为长度,组成一个数组(bucket[nbucket])。          查找时每个符号的hash值,对nbucket取余,得到n(n=hash%nbucket),这个n对应于这个hash在bucket数组中的位置,找到位置后,那要查找的符号和这个数组代表的链表进行比对,如果有就找到了,没有呢就找下一个。

hash表排列的示意图:

hash表组成方法:

把所有数值对数组长度进行取余运算,得到的余数为要放入数组的下标,就是说每个数组成员是一个链表的入口(头部),而这个链表都是余数相同的hash值,这样就把要查找的范围缩小了,故查找时速度就加快了。

转载请注明原文地址: https://www.6miu.com/read-44006.html

最新回复(0)