设散列表长度8,散列函数H(k)=k%7,用线性探测解决冲突,则根据一组初始关键字序列.见下.设散列表长度8,散列函数H(k)=k%7,用线性探测解决冲突,则根据一组初始关键字序列(8,15,16,22,30,32)
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 12:30:48
设散列表长度8,散列函数H(k)=k%7,用线性探测解决冲突,则根据一组初始关键字序列.见下.设散列表长度8,散列函数H(k)=k%7,用线性探测解决冲突,则根据一组初始关键字序列(8,15,16,22,30,32)
设散列表长度8,散列函数H(k)=k%7,用线性探测解决冲突,则根据一组初始关键字序列.见下.
设散列表长度8,散列函数H(k)=k%7,用线性探测解决冲突,则根据一组初始关键字序列(8,15,16,22,30,32)构造出的散列表平均查找长度为什么是8\3呢?我自己算的是(1*3+3+4+5)\8=15\8,哪里错了呢?
设散列表长度8,散列函数H(k)=k%7,用线性探测解决冲突,则根据一组初始关键字序列.见下.设散列表长度8,散列函数H(k)=k%7,用线性探测解决冲突,则根据一组初始关键字序列(8,15,16,22,30,32)
0 1 2 3 4 5 6 7
8 15 16 22 30 32
以上是数据在散列表中的分布
计算如下
(1+2+2+4+4+3)/6=8/3
括号里那6个数,从左到右分别是初始关键字序列中的每一个所需查找次数,从左到右
线性探测就是一旦冲突,向后移动寻找新位置,8占了位置1,15%7=1,但被8占了,所以只能移到2,以后查找15时也需要比较2次,16%7=2,但位置2被15占了,16只能移到位置3,以后查找需比较2次,22%7=1,但位置1被占了,向后移,位置2,3都被占了,结果最终移到位置4,以后需要比较4次,如此推理,可得结果