首页 > 试题广场 >

下列哪些方法可以用作Hash函数的构造方法?

[不定项选择题]
下列哪些方法可以用作Hash函数的构造方法?
  • 平方取中法:先通过求关键字的平方值扩大相近数的差别,然后根据表长度取中间的几位数作为散列函数值。
  • 除余法:它是以表长m来除关键字,取其余数作为散列地址,即 h(key)=key%m
  • 相乘取整法:首先用关键字key乘上某个常数A(0<A<1),并抽取出key.A的小数部分;然后用m乘以该小数后取整
  • 随机数法:选择一个随机函数,取关键字的随机函数值为它的散列地址
哈希函数构造主要有以下几种:
1:直接寻址法;
2:取模法;
3:数字分析法;
4:折叠法;
5:平方取中法;
6:除留余数法;
7:随机数法。
处理冲突主要方法有:
1:开地址法
  • 线性探测再散列
  • 二次探测再散列
  • 伪随机再散列
2:链地址法
3:再散列法
4:建立一个公共溢出区
发表于 2015-09-12 15:23:52 回复(3)
计算机中的随机函数都是伪随机函数,只要设定的随机种子数相同,会产生相同的随机数的。
发表于 2015-08-21 23:35:04 回复(2)
请看下图常用的散列函数部分,ABD是正确的,C相乘取整法应该是不正确的

编辑于 2019-10-21 17:03:11 回复(0)
计算机中的随机函数都是伪随机函数,只要设定的随机种子数相同,会产生相同的随机数的。
发表于 2017-04-17 20:44:22 回复(0)
计算机中的随机函数都是伪随机函数,只要随机种子一样,序列就是一样的。学到了,mark

发表于 2017-02-25 20:46:47 回复(2)
书上真的有些随机数法
发表于 2015-08-21 22:21:22 回复(0)
本人知识浅 相乘取整法  我怎么没听说过呀 哪位大神告诉我一下谢谢
发表于 2022-01-01 14:02:10 回复(0)
哈希函数构造主要有:
1:直接寻址法;
2:取模法;
3:数字分析法;
4:折叠法;
5:平方取中法;
6:除留余数法;
7:随机数法。
处理冲突主要有:
1:开地址法(线性探测再散列 ,二次探测再散列,伪随机再散列)
2:链地址法
3:再散列法
4:建立一个公共溢出区
发表于 2018-05-10 09:26:25 回复(0)
感觉像MD5映射关系是确定的那样的肯定是可以的,但是这个随机数说的不太清楚啊!
发表于 2015-09-05 10:54:24 回复(0)
注意:这个随机函数是伪随机,只要种子一样,随机出来的函数值是一样的。因此可以作为合适的哈希函数
发表于 2021-12-13 17:03:03 回复(0)
随机数法可以用,但是因为随机数本身存在一些类似伪随机的情况和无法控制冲突也可能并不会提高哈希函数的查询效率,所以随机数法很多时候并不是一个好的哈希函数,但是可以用
发表于 2021-11-14 16:51:04 回复(0)
王道p262综合题第二题第三函数就用了随机数,然而答案告诉说不可以用随机数,因为不可复现。你们让我好糊涂啊
发表于 2018-11-06 11:23:07 回复(0)
计算机产生随机数都是伪随机
发表于 2018-03-27 06:37:21 回复(0)
计算机中的随机函数都是伪随机函数,只要随机种子一样,序列就是一样的。学到了,mark
发表于 2017-06-09 10:28:14 回复(0)
请问C怎么能做到复现呢
发表于 2017-03-16 00:14:37 回复(0)
哈希函数构造主要有以下几种:
1:直接寻址法;
2:取模法;
3:数字分析法;
4:折叠法;
5:平方取中法;
6:除留余数法;
7:随机数法。
处理冲突主要方法有:
1:开地址法
  • 线性探测再散列
  • 二次探测再散列
  • 伪随机再散列
2:链地址法
3:再散列法
4:建立一个公共溢出区
发表于 2016-10-31 12:55:53 回复(0)
随机数不可以作为Hash函数
发表于 2016-09-25 15:21:42 回复(0)
mwp头像 mwp
随机乘数法又称为相乘取整法
发表于 2015-08-28 18:11:31 回复(0)
ABC

D没办法复现, 第二次拿到key的时候, 没法找到第一次的hash
发表于 2015-01-09 20:38:47 回复(3)