题目描述
Description 使用哈希函数:H(k)=3k MOD length,并采用开放定址法处理冲突。试对输入的关键字序列构造哈希表,哈希表长度为length,求等概率情况下查找成功的平均查找长度,并设计构造哈希表的完整的算法。本题给出部分代码,请补全Hash函数和解决冲突的collison函数。
#include"malloc.h" / malloc()等 /
#include"stdlib.h" / exit() */
#include"stdio.h"
#define EQ(a,b) ((a)==(b))
#define SUCCESS 1
#define UNSUCCESS 0
#define NULLKEY -1 /哈希表无元素时值为-1/
typedef int ElemType;
int length;
typedef struct
{
ElemType elem; / 数据元素存储基址,动态分配数组 /
int count; / 当前数据元素个数 */
}HashTable;
void InitHashTable(HashTable H)
{ / 操作结果: 构造一个长度为length的哈希表,length为全局