题目
description:
选取哈希函数 H(k)=(3k)%11,用线性探测再散列法处理冲突。试在 0-10 的散列地址空间中,编写程序,对关键字序列 (22,41,53 46,30,13,01,67)构造哈希表,并求等概率情况下查找成功的平均查找长度。
input:
无
output:
输出等概率情况下查找成功的平均查找长度。
sample_input:
无
sample_output:
2
思路
设置了一个二维数组HASH[20][2]来作为哈希表,HASH[i][0]存储数据,HASH[i][1]记录查找次数,最后直接累加HASH[i][1]再除以数据的个数即可。很简单,完全是根据哈希表的概念写的。
代码
#include <stdio.h>
#include <stdlib.h>
int main() {
int data[8] = {
22, 41, 53, 46, 30