资源描述:
《数据结构课程设计哈希表设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.课程设计课程名称数据结构题目名称哈希表设计学生学院计算机学院专业班级10级网络工程1班学号3210006470学生姓名指导教师2012年6月17日word资料.一.问题描述针对某个集体(比如你所在的班级)中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。二.基本要求假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用伪随机探测再散列发处理冲突。三.需求分析针对某个集体中的人名设计一个哈希表,使得平均查找长度不超过R,
2、完成相应的建立和查表程序。人名为汉语拼音形式,最长不超过19个字符(如:庄双双zhuangshuangshuang)。假设待填入哈希表的人名有30个,平均查找长度的上限为2。哈希表用除留余数法构造,用伪随机探测在散列法处理冲突。在输入人名过程中能自动识别非法输入,并给与非法输入的反馈信息要求重新输入。查找成功时,显示姓名及关键字,并计算和输出查找成功的平均查找长度。四.程序设计1.存储结构设计typedefstruct{char*py;intk;}NAME;NAMENameList[HASH_LEN];typede
3、fstruct{char*py;intk;intsi;}HASH;2.源代码#include#include#includeusingnamespacestd;#defineHASH_LEN50#defineM47intNAME_NO=30;HASHHashList[HASH_LEN];word资料.voidInitNameList(){char*f;intr,s0,i;NameList[0].py="caizenghua";NameList[1].py="c
4、henjiachuang";NameList[2].py="chenquanzhong";NameList[3].py="chenxuebin";NameList[4].py="chenzhongchao";NameList[5].py="chenzifan";NameList[6].py="dengchenhua";NameList[7].py="duweihao";NameList[8].py="fangjiatai";NameList[9].py="heguoliang";NameList[10].py="h
5、ongzexin";NameList[11].py="huangjinbiao";NameList[12].py="huangliquan";NameList[13].py="huangmiaojie";NameList[14].py="huangronghao";NameList[15].py="huangyonghao";NameList[16].py="liguangxi";NameList[17].py="lilangzheng";NameList[18].py="liangcailin";NameList
6、[19].py="linjiewen";NameList[20].py="liufurupeng";NameList[21].py="liuliang";NameList[22].py="luohaoheng";NameList[23].py="luowenchao";NameList[24].py="sunwenhong";NameList[25].py="tanzeming";NameList[26].py="wangjian";NameList[27].py="wangkaibin";NameList[28]
7、.py="wangyixin";NameList[29].py="wenduke";for(i=0;i