hash算法

来源:互联网 发布:河北秦淮数据有限公司 编辑:程序博客网 时间:2024/06/08 09:40
1,hash算法的原理
    
    hash算法把每一符号进行一定的算数得到一个hash值,然后根据符号表的入口数量,得到一个离这个数量最近的一个素数(nbucket),以这个素数为长度,组成一个数组(bucket[nbucket])。
    
    查找时每个符号的hash值,对nbucket取余,得到n(n=hash%nbucket),这个n对应于这个hash在bucket数组中的位置,找到位置后,那要查找的符号和这个数组代表的链表进行比对,如果有就找到了,没有呢就找下一个。


hash表排列的示意图:


hash表组成方法:

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


原创粉丝点击