欢迎来到天天文库
浏览记录
ID:49536409
大小:77.50 KB
页数:16页
时间:2020-03-02
《数据结构哈希表设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验六:存储管理、查找和排序题目:哈希表设计班级:姓名:学号:一、问题描述针对某个集体(比如你所在的班级)中的“人名”设计一个哈希表,使得平均查找长度均不超过R,完成相应的建表和查表顺序。二、基本要求假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用伪随机探测再散列法处理冲突。三、概要设计1.构造结构体:typedefstruct{};2.姓名表的初始化:voidInitNameTable();3.建立哈希表:voidCreateHashTable();4.显示姓名表:voidDisplayNameTable
2、();5.姓名查找:voidFindName();6.主函数:voidmain() ;四、详细设计1.姓名表的初始化voidInitNameTable() { NameTable[0].py="louyuhong"; NameTable[1].py="shenyinghong"; NameTable[2].py="wangqi"; NameTable[3].py="zhuxiaotong"; NameTable[4].py="zhataotao"; NameTable[5].py="chenbinjie";
3、 NameTable[6].py="chenchaoqun"; NameTable[7].py="chencheng"; NameTable[8].py="chenjie"; NameTable[9].py="chenweida"; NameTable[10].py="shanjianfeng"; NameTable[11].py="fangyixin"; NameTable[12].py="houfeng"; NameTable[13].py="hujiaming"; NameTable[1
4、4].py="huangjiaju"; NameTable[15].py="huanqingsong"; NameTable[16].py="jianghe"; NameTable[17].py="jinleicheng"; NameTable[18].py="libiao"; NameTable[19].py="liqi"; NameTable[20].py="lirenhua"; NameTable[21].py="liukai"; NameTable[22].py="louhanglin";
5、 NameTable[23].py="luchaoming"; NameTable[24].py="luqiuwei"; NameTable[25].py="panhaijian"; NameTable[26].py="shuxiang"; NameTable[27].py="suxiaolei"; NameTable[28].py="sunyubo"; NameTable[29].py="wangwei"; for(i=0;i6、码相加,所得的整数做为哈希表的关键字 { ints=0; char*p=NameTable[i].py; for(j=0;*(p+j)!=' ';j++) s+=toascii(*(p+j)); NameTable[i].m=s; }}1.建立哈希表voidCreateHashTable(){ for(i=0;i7、able[i].py=" "; HashTable[i].m=0; HashTable[i].si=0; } for(i=0;i
6、码相加,所得的整数做为哈希表的关键字 { ints=0; char*p=NameTable[i].py; for(j=0;*(p+j)!=' ';j++) s+=toascii(*(p+j)); NameTable[i].m=s; }}1.建立哈希表voidCreateHashTable(){ for(i=0;i7、able[i].py=" "; HashTable[i].m=0; HashTable[i].si=0; } for(i=0;i
7、able[i].py=" "; HashTable[i].m=0; HashTable[i].si=0; } for(i=0;i
此文档下载收益归作者所有