设哈希函数为H(K)=KMOD7,哈希表的地址空间为0,...,6,开始时哈希表为空,用线性探测法解决冲突,请画出依次插

xyf00xyf2022-10-04 11:39:541条回答

设哈希函数为H(K)=KMOD7,哈希表的地址空间为0,...,6,开始时哈希表为空,用线性探测法解决冲突,请画出依次插入键值23,14,9,6,30,12,18后的哈希表.

已提交,审核后显示!提交回复

共1条回复
zhanggminxie 共回答了26个问题 | 采纳率88.5%
地址空间:0 1 2 3 4 5 6
23
14 23
14 23 9
14 23 9 6
14 23 9 30 6
14 23 9 30 12 6
14 18 23 9 30 12 6
1年前

相关推荐

1.设哈希表长m=14,哈希函数H(key)=key%k11,表中已有4个结点:
1.设哈希表长m=14,哈希函数H(key)=key%k11,表中已有4个结点:
addr(15)=4 addr(38)=5 addr(61)=6 addr(84)=7
其余地址为空
2.如果采用二次探测再散列处理冲突,关键字为49的结点的地址是( D ).
A.8 B.3 C.5 D.9
假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi相关的所有弧的时间复杂度是( C )
A. O(n) B.O(e) C.O(n+e) D.O(n*e)
ningyiy1年前1
桃花岛浪人 共回答了18个问题 | 采纳率100%
第一题:哈希表的定义(一组关键字通过哈希函数得到一段连续的地址),addr(15)=4,是通过15%11,即15除以11取余数4.
第二题:核心是哈希表处理冲突方法:开放地址法(二次探测再散列),你查查这个方法的思想,一两句话也解释不清楚
第三题:当做定理记吧!
数据结构 哈希函数 平方探查法假如一个数为55,H(K)=K%11本来要填在0的位置,这时0和1都放了数,那么再探测那个
数据结构 哈希函数 平方探查法
假如一个数为55,H(K)=K%11
本来要填在0的位置,这时0和1都放了数,那么再探测那个位置?
也就是H(K),H(k)+1的平方都探测了,有数字,然后再探测-1的平方,可是左边已经没位置了
cnxmpr1年前1
wqts6_0fmk6__22e 共回答了19个问题 | 采纳率100%
你怎么问了两遍呢、?
解决冲突的方法:
1.线性探测再散列:2.平方探测再散列:3.再哈希:4.哈希链表:
你题目给的是 用的平方探测再散列,如果数A本来哈希后的地址是0,但是0 ,1 ,位置上已经有数据了 此时 A 的哈希地址+1^2 有冲突 ,A 的哈希地址-1^2 此时因为A 的哈希地址是0 所以 应把A放入在10的地方 应为H(K)=K%11 m=11,所以 应该是0----10 0-1 :表示 0 的上一个地址 ,你可以把它看成是循环的
哈希函数H(k)=(3k)MOD11,用开放定址发处理冲突d=i((7k)MOD10+1)i=1,2,3...
哈希函数H(k)=(3k)MOD11,用开放定址发处理冲突d=i((7k)MOD10+1)i=1,2,3...
是不是H(k)=3k就是把数据除以3,那开放定址处理冲突d=i((7k)MOD10+1)是什么意思呢?
哈哈9131年前1
顺问近好 共回答了27个问题 | 采纳率100%
H(k) = (3k) mod 11是一种类计算机语言的描述,它的意思是,将k存入到3*k与11取模的空间中,也就是说所有的都放在11个地址空间中,但有时会发生冲突,这时可以考虑使用开放定位地址,而转向使用下一个地址中.而11是一个素数,这里做为哈杀系数.对于哈杀系数一般是使用比需要存储空间的数字略大的素数.素数的冲突机率最小,而数据选用越小,冲突机率越大,而越大则越存储越稀,浪费空间越大.
很多时间书上是这样教你的,一般是将所存储的数据与哈希系数取模.但这里只是用其3倍取模也是一样的,如以下数字放在哈希表中:
1,62,15,32,45,78,65,95,7,12
这个数据是10个,所以我选用的哈杀系数是11,如果使用H(k)=k mod 11采用地址开链法时是这样的:
1 mod 11 存放在1号空间中
62 mod 11 存放在7号空间中
15 mod 11 存放在4号空间中
32 mod 11 存放在10号空间中
45 mod 11 存放在1号空间中,这时发生了冲突,地址开链,则存在另一个地址中空间中
78 mod 11 存在1号发现存在,另存.
.
但是有时我们知道地址的冲突机充非常大时,这样是不行的,因为效率问题,我们可以使用另一个较小的素数进行改变:
如:以下数据列:
12,23,35,46,58,69,81,92,104,115
你会发现这时10个待存数据,可应该选用11作为哈希系数,但你会发现这几个都会产生冲突,如果还用H(k)=k mod 11非常不利,但如果是均匀冲突时则可以用h(k)=3k mod 11解决的!它的好处就是跨大距离而留足开放定地址法进行解决的.如果遇到冲突可以用另一个式子重新放入空间中,当然,如果遇到已经放入的情况,则将i的值进行顺次增加.
以此为例子,你的开放地址法处理冲突存放是:
12*3 mod 11 放在3号空间中
23*3 mod 11 放在3号空间中,但已经存放了,解使用冲突,
23*7 mod 10 +1 放在2号空间中.
35*3 mod 11 放在6号空间中,(若不使用3k mod 11时则放在2号空间,又冲突了,所以乘的作用就是跨大一下跟离而已!)
46*3 mod 11 放在6号空间中,重复冲突,使用开放地址法解决
46*7 mod 10 +1 放在3个空间中,又重复,使用前边的系数解决
2(46*7 mod 10 +1)放在6号空间中,又重复,(这次真是巧合,46*3 mod 11与2*(46*7 mod 10 +1)相等的时候根本不多!)只好换一下系数放在9号空间中了,问题是数据往往有很大的随机性,不像我举例子也找这样规律性的数字!
但原理你是知道了吧?
哈希函数是什么意思?
男欢女爱11年前1
说心事 共回答了19个问题 | 采纳率78.9%
对于动态查找表而言,1) 表长不确定;2)在设计查找表时,只知道关键字所属范围,而不知道确切的关键字.因此,一般情况需建立一个函数关系,以f(key)作为关键字为key的录在表中的位置,通常称这个函数f(key)为哈希函数.(注意:这个函数并不一定是数学函数)
哈希函数是一个映象,即:将关键字的集合映射到某个地址集合上,它的设置很灵活,只要这个地址集合的大小不超出允许范围即可.
现实中哈希函数是需要构造的,并且构造的好才能使用的好.
用途:加密,解决冲突问题.
用途很广,比特精灵中就使用了哈希函数,你可 以自己看看.
具体可以学习一下数据结构和算法的书.
对于哈希函数H(key)=key%13,被称为同义词的关键字是( )
对于哈希函数H(key)=key%13,被称为同义词的关键字是( )
A、25和51;
B、15和44;
C、23和39;
D、35和41.
潇山鹿影1年前1
yingl 共回答了23个问题 | 采纳率100%
同时对13取余数.a的结果为12和12.b的是2和5.c的是10和0.d的是12和3.所以选a
设哈希函数H(key)=key MOD 13,用线性探测再散列法解决冲突.对关键字序列{ 55,19,01,68,23,
设哈希函数H(key)=key MOD 13,用线性探测再散列法解决冲突.对关键字序列{ 55,19,01,68,23,27,20,84 }在地址空间为0-10的散列区中建哈希表,画出此表,并求等概率情况下查找成功时的平均查找长度.
雨夜游人1年前0
共回答了个问题 | 采纳率
哈希表:二次探测再散列给定关键字集合{19,1,23,14,55,68,11,82,36}构造哈希表,设哈希函数为H(k
哈希表:二次探测再散列
给定关键字集合{19,1,23,14,55,68,11,82,36}构造哈希表,设哈希函数为H(key)=key MOD 11,表的长度为11,若采用线性探测再散列,则以下结果正确吗? 0 1 2 3 4 5 6 7 8 9 10 H(key) 55 1 23 14 68 11 82 36 19 那么采用二次探测再散列处理冲突的结果应该是怎样的(重点解释你是如何计算关键子11的位置的)?
ff的十三1年前1
凝碧旧池 共回答了16个问题 | 采纳率100%
h(19)=8,h(1)=1,h(23)=1->2,h(14)=3,h(15)=0,h(68)=2->3->4,h(11)=0->1->2->3->4->5,h(82)=5->6,h(36)=3->4->5->6->7线性探测正确 二次探测H(19)=8H(1)=1H(23)=1,h(23+1^2)=2H(14)=3H(55)=0H(68)=2,h(68+1^2)=3,h(68-1^2)=1,h(68+2^2)=6H(11)=0,h(11+1^2)=1,h(11-1^2)=10H(82)=5H(36)=3,h(36+1^2)=4
哈希表长m=14,哈希函数H(key)=key%11.表中已有4个节点:
哈希表长m=14,哈希函数H(key)=key%11.表中已有4个节点:
addr(15)=4,addr(38)=5,addr(61)=6,addr(84)=7.其余地址为空,如果用二次探测处理冲突,关键字为49的节点的地址是()
请给出解题的思路分析越详细越好哈
black2631年前0
共回答了个问题 | 采纳率
建立哈希表 及计算ASL值若已知哈希函数为: H(key)= key MOD 11, 哈希表长为m=13 请为一组关键字
建立哈希表 及计算ASL值
若已知哈希函数为: H(key)= key MOD 11,
哈希表长为m=13 请为一组关键字序列(19,68,20,84,27,55,11,10,79,14,23,1)建立哈希表.解决冲突的方法采用线性探测法.计算ASL的值.
希望高人给予指点,谢谢!
O耶o耶1年前1
ade3456 共回答了11个问题 | 采纳率100%
哈希表的建立:
key: 0 1 2 3 4 5 6 7 8 9 10 11 12
55 68 11 79 14 27 23 84 19 20 10 1
ASL=(1+1+1+1+1+1+3+2+2+6+11)/12
做此类题应注意哈希冲突函数怎么构建,此题采用线性探测法,即如果产生冲突方法为H+1一直到没有冲突为止。哈希表的建立,是依照key依次算对应的哈希码。
平均查找长度就是查找成功需要的次数除以总个数。答案自己算。这样的题自己多动手。看懂了的话要好评啊!呵呵。
二次探测散列法设哈希表维14,哈希函数时H(key)=key%11,表中已有数据的关键字维15,38,61,84共四个,
二次探测散列法
设哈希表维14,哈希函数时H(key)=key%11,表中已有数据的关键字维15,38,61,84共四个,现要将关键字维49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是:
A、8 B、3 C、5 D、9
心如止水7141年前1
枫橡树 共回答了22个问题 | 采纳率95.5%
15,38,61,84除11的余数分别为4,5,6,7,没有重复,因此分别就放在这4个下标
49除11的余数为5,发生冲突,因为是二次探测,所以接下来分别探测+1, -1, +4, -4, +9, -9...
显然5 + 1, 5 - 1的位置都有冲突,5 + 4的位置没有冲突
所以最后放入的位置是9,也就是答案D
求高手帮忙,JAVA问题已知哈希函数为H(k)=3k%7,给定散列区空间长度m=9,用线性探测再散列处理冲突,对关键字序
求高手帮忙,JAVA问题
已知哈希函数为H(k)=3k%7,给定散列区空间长度m=9,用线性探测再散列处理冲突,对关键字序列(9,11,28,4,32,15,2)造hash表,并列出冲突次数。
微黑1年前1
mmrabbit940 共回答了19个问题 | 采纳率89.5%
28 2 X 15 X 11 9 4 32
1 5 1 1 1 3 4 总冲突=16次
设有一组关键字(19,05,21,24,45,20,68,27,70,11,10),用哈希函数H(key)=key%13
设有一组关键字(19,05,21,24,45,20,68,27,70,11,10),用哈希函数H(key)=key%13
设有一组关键字(19,05,21,24,45,20,68,27,70,11,10),用哈希函数H(key)=key%13,采用线性探测再散列方法解决冲突,试在0-14的散列地址空间中对该关键字序列构造哈希函数,并求查找成功和查找不成功时的平均查找长度.
51wc1年前0
共回答了个问题 | 采纳率
数据结构的简单问题已知哈希函数为H(key)=key%11,哈希表长度为13,用线性探测再散列的方法处理冲突.表中已依次
数据结构的简单问题
已知哈希函数为H(key)=key%11,哈希表长度为13,用线性探测再散列的方法处理冲突.表中已依次存放了关键字为22、12、24、30、52和43的6个记录,现将关键字63填入哈希表,其哈希地址是,给出具体求解过程
lantian19981年前1
我爱-夏天 共回答了21个问题 | 采纳率85.7%
依次计算已经存放各关键字的位置:
22 % 11 = 0
12 % 11 = 1
24 % 11 = 2
30 % 11 = 7
52 % 11 = 8
43 % 11 = 10
都没有发生冲突,其位置就是散列函数值
63 % 11 = 8
与52 发生冲突,按照线性探测再散列的方法处理冲突,先探查8 + 1 = 9,这个位置空,没有关键字冲突,因此哈希地址为9
数据结构问题,求高手。设H(x)是一哈希函数,有K个不同的关键字(x1,x2,x3,.....xk)满足H(x1)=H(
数据结构问题,求高手。
设H(x)是一哈希函数,有K个不同的关键字(x1,x2,x3,.....xk)满足H(x1)=H(x2)=...H(xk),若用线性探测法将这K个关键字存入哈希表中,至少要探测多少次?求答案和详细过程。
zhu123151年前1
zzasdanley 共回答了17个问题 | 采纳率94.1%
x1探测1次找到自己的位置
x2探测1次,与x1冲突,再探测1次
x3探测1次,与x2冲突,再探测1次,与x1冲突,再探测1次
依次类推
所以总的次数是1+2+。。。+k=(k+1)*k/2