数据结构课程设计----哈希表设计.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学 号 数据结构课程设计 设计说明书 起止日期: 20年 月 日 至 年 月日 学生姓名 班级 成绩 指导教师(签字) 系 年 月日 课程设计任务书 20—2012学年第学期 系 专业 班级 课程设计名称: 设计题目: 完成期限:自 年 月 日至 年 月 日共 周 设计依据、要求及主要内容(可另加附页): 问题描述   针对某个集体中人名设计一个哈希表,使得平均查找长度不超过R,并完成相应的建表和查表程序。 基本要求   假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用线性探测再散列法或链地址法处理冲突。 测试数据   取读者周围较熟悉的30个人名。 一、需求分析 要建立一个哈希表,并完成查询的功能,首先要定义两个结构体,一个Name、一个Hash。输入的时候一定要输入姓名的拼音,否则将无法实现。 二、问题求解 对哈希表的查询,首先输入要查询人的姓名拼音,然后程序会根据拼音从第一个字母开始查找并输出其相应的ASCII值,依次向后查找,直到字符串结束,最后输出总的ASCII码值,所得ACSII值之和作为关键码,然后输出相应的查找长度。例如 输入:xuyanqing 输出: 关键码:996 查找长度:1 三、总体设计 框图及流程图: 四、详细设计 结构体: struct Name { char *py; //姓名拼音 int k; //拼音所对应的ASCII码 }; struct Hash { char *py; int k; int si; //查找长度 }; void main() 主函数 void ListName() //人名列表 void CreateHashList() //建立Hash表 void HashSearch() //查找 void Display() 显示 五、关键源程序清单和执行结果 源程序: #includeiostream #includestring using namespace std; #define L 50 //哈希表长度 #define P 47 //随机数 #define N 30 //人名个数 struct Name { char *py; //姓名拼音 int k; //拼音所对应的ASCII码 }; Name NameList[L]; struct Hash { char *py; int k; int si; //查找长度 }; Hash HashList[L]; void ListName() //人名列表 { NameList[0].py=zhuangdong; NameList[1].py=chenmengsheng; NameList[2].py=chenya; NameList[3].py=litao; NameList[4].py=xiaqian; NameList[5].py=aijing; NameList[6].py=zengguoyan; NameList[7].py=hantingkai; NameList[8].py=yuzhikai; NameList[9].py=zhangyanyu; NameList[10].py=ouzining; NameList[11].py=yueguangbo; NameList[12].py=yinyongchao; NameList[13].py=wangxiao; NameList[14].py=heguoqing; NameList[15].py=xuyanqing; NameList[16].py=zhujiongming; NameList[17].py=zhuanghao; NameList[18].py=zhangzongang; NameList[19].py=luoqing; NameList[20].py=zhoukangning; NameList[21].py=liyuan; NameList[22].py=xutingting; NameList[23].py=zhoumeirong; NameList[24].py=wangshuxia; NameList[25].py=zhanghuijiuan; NameList[26].py=wangpengkun; NameLi

文档评论(0)

li455504605 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档