设哈希表长为14,哈希函数是h(key)=key%11,表中已有数据的关键字为15 38 61 84共四个,现要将关键字为49的元素加到表中,未解决冲突,则将49放入的位置下标是什么
时间: 2024-04-01 07:31:53 浏览: 81
根据哈希函数h(key)=key%11,49%11=5,因此关键字为49的元素的哈希值为5。由于表中已有4个数据,因此49需要解决冲突。采用开放定址法中的线性探测法,即从哈希值为5的位置开始,依次往后查找,直到找到一个空位置为止。假设查找到下标为9的位置为空,则将49插入到下标为9的位置。因此,关键字为49的元素加入到哈希表中的位置下标为9。
相关问题
设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字15,38,61,84共四个,现在要将关键字为49的元素加到表里,为解决冲突,则将49放入的位置下标是
根据哈希函数H(key)=key%11,对于关键字49,计算其哈希值:H(49)=49%11=5。
现在要解决冲突,因为下标5已经被关键字15占用了,所以需要使用开放地址法来寻找下一个可用的位置。
首先尝试下标6:H(49)+1=5+1=6,发现下标6是可用的,所以将关键字49插入到下标6的位置。
因此,关键字49被插入到了哈希表的下标6的位置。
设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的元素加到表中,为解决冲突,则将49放入的位置下标是()
按照题目所给的哈希函数,关键字15、38、61、84分别被哈希到下标为4、6、6、5的位置。现在要将关键字49加入哈希表中,我们先将其哈希到下标为H(49)=49%11=5的位置,发现此位置已经有一个元素84了,发生了冲突。因此,我们需要解决冲突。一种简单的解决方法是线性探测法,即从发生冲突的位置开始,依次向后查找空闲位置,直到找到一个空闲位置为止。在本题中,从下标为5开始,依次向后查找,发现下标为6、7、8、9、10、0、1、2、3、4的位置都已经被占用,直到下标为12的位置为空闲位置,因此将49放入下标为12的位置。因此,答案为12。
阅读全文