开发者社区 问答 正文

简述常见的Hash函数

简述常见的Hash函数

展开
收起
huc_逆天 2021-01-08 14:35:11 697 分享 版权
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    常见的Hash函数有以下几个:

    直接定址法:直接以关键字k或者k加上某个常数(k+c)作为哈希地址。

    数字分析法:提取关键字中取值比较均匀的数字作为哈希地址。

    除留余数法:用关键字k除以某个不大于哈希表长度m的数p,将所得余数作为哈希表地址。

    分段叠加法:按照哈希表地址位数将关键字分成位数相等的几部分,其中最后一部分可以比较短。然后将这几部分相加,舍弃最高进位后的结果就是该关键字的哈希地址。

    平方取中法:如果关键字各个部分分布都不均匀的话,可以先求出它的平方值,然后按照需求取中间的几位作为哈希地址。

    伪随机数法:采用一个伪随机数当作哈希函数。

    2021-01-08 14:35:21
    赞同 展开评论
问答地址: