下载此文档

哈希表实验报告.docx


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
数据构造试验报告四一一哈希表查找名字(字符串)
试验题目:哈希表查找名字(字符串) 试验目标:
输入一组名字(至少 50 个),将其保存并利用哈希表查找。输出哈希查找冲突次数,哈希表 负载因子、查找命
中率。
数据构造:
哈希t Hashtable[]);
void InitHash(int Hashtable[]);
void InsertHash(int key,int Hashtable[]); int SearchHash(int key,int Hashtable[]); void PrintHash(int Hashtable[]);
int count=0,num=0; void main()
{
int i,key,collapsetime,searchtime,Hash[LENGTH]; float loadelem,hitprob;
char names[LENGTH][20];
InitHash(Hash);
printf(“input the number of names(number<=%d).\n“,LENGTH); scanf(“%d“,&num); printf(“input names.\n“); for(i=0;i<num;i++)
{
scanf(“%s“,&names[i]);
key=(abs((int)names[i][0]-(int)names[i][1]+(int)names[i][strlen(names[i])/2]-(int)names[i][str
len(names[i])-2]-(int)names[i][strlen(names[i])-1]))*strlen(names[i]);
/*上式为关键字求取,公式:关键字 key=abs (字符串首位 ASCII 码值-其次位 ASCII 码值+第([n/2]+1 )位 ASCII 码值-最终一位 ASCII 码值-倒数其次位 ASCII 码值)*字符串长度
( abs 为求整数确定值的函数) 。*/
InsertHash(key,Hash);
}
count=0;/* 将 count 置零,去除插入过程中产生的冲突次数 */ PrintHash(Hash);
{
for(i=0;i<num;i++)
key=(abs((int)names[i][0]-(int)names[i][1]+(int)names[i][strlen(names[i])/2]-(int)names[i][str
len(names[i])-2]-(int)names[i][strlen(names[i])-1]))*strlen(names[i]);
/* 上式为关键字求取,公式同上 */ SearchHash(key,Hash);
}
collapsetime=count; searchtime=count+num; loadelem=(float)num/LENGTH; hitprob=(float)num/searchtime; printf(“ 元素个数: %d\n“,num);
printf(“ 冲突次数: %d\n“,collapsetime); printf(“ 查

哈希表实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人世界末末日
  • 文件大小720 KB
  • 时间2022-06-22