- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计4查找和排序
题目:查找和排序 ? 内容:1哈希表设计,2内部排序算法比较 日期:2012年5月12日 姓名: 学号: 1、哈希表设计 一.实习目的 树和图是两种非线性数据结构,通过本次课程设计,熟悉它们的特性,应用树和图解决具体问题。 二.问题描述 针对某个集体中人名设计一个哈希表,使得平均查找长度不超过R,并完成相应的建表和查表程序。 三.需求分析 假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用线性探测再散列法或链地址法处理冲突。 四.概要设计 (1)、 针对某个集体中的人名设计一个哈希表,使得平均查找长度不超过R,完成相应的建立和查表程序。 (2)、人名为汉语拼音形式,最长不超过19个字符。 (3)、假设待填入哈希表的人名有30个,平均查找长度的上限??2。哈希表用除留余数法构造,用伪随机探测在散列法处理冲突。 (4)、在输入人名过程中能自动识别非法输入,并给与非法输入的反馈信息要求重新输入。 (5)、找成功时,显示姓名及关键字,并计算和输出查找成功的平均查找长度。 五.详细设计(给出算法的伪码描述) 1 .存储结构设计 typedef struct { char *py; //名字的拼音 int k; //拼音所对应的整数 }NAME; typedef struct //哈希表 { char *py; //名字的拼音 int k; //拼音所对应的整数 int si; //查找长度 }HASH; 2 .主要算法设计 (1) 姓名(结构体数组)初始化 名字以拼音的形式够成字符串,将字符串的各个字符所对应的ASCII码相加,所得的整数做为哈希表的关键字。 void InitNameList() { char *f; int r,s0,i; NameList[0].py, lgwlkk); NameList[1].py, menfg); NameList[2].py, duanxp); NameList[3].py, tianjjiu); NameList[4].py, liuguangwei); NameList[5].py, caixm); NameList[6].py, liujh); NameList[7].py, liukk); NameList[8].py, fanwd); NameList[9].py, fanweidong); NameList[10].py, fanxie); NameList[11].py, tanyiwen); NameList[12].py, lixu); NameList[13].py, renjh); NameList[14].py, lizhuquan); NameList[15].py, youhy); NameList[16].py, zhanwl); NameList[17].py, tangyaozh); NameList[18].py, xiayj); NameList[19].py, jingminrui); NameList[20].py, wanger); NameList[21].py, sandong); NameList[22].py, liboxian); NameList[23].py, tianshu); NameList[24].py, chouyuyan); NameList[25].py, liuerwei); NameList[26].py, liusanwei); NameList[27].py, wukang); NameList[28].py, mixing); NameList[29].py, lishi); for(i=0;iNAME_NO;i++) { s0=0; f=NameList[i].py; for(r=0;*(f+r)!=\0;r++) /* 方法:将字符串的各个字符所对应的ASCII码相加,所得的整数做为哈希表的关键字*/ s0=*(f+r)+s0; NameList[i].k=s0; } (2) 建立哈希表 (1) 用除留余数法构建哈希函数 (2)
您可能关注的文档
最近下载
- 互联互通测材料_中心医院.pdf VIP
- 个人简历模板 简洁.doc VIP
- 精选60套教学说课PPT模板送给你.pptx VIP
- 股骨颈骨折内固定知情同意书.pdf VIP
- 大型园林绿化工程项目施工组织组织设计.doc VIP
- 2023-2024学年北京市八年级上期中数学分类汇编:新情境新定义(原卷版).pdf VIP
- 山东省产品碳足迹评价技术规范与评价报告指南、山东省产品碳足迹评价通则.pdf VIP
- 3D3S非线性手册_原创精品文档.pdf VIP
- 6.2 比的化简(教学设计与反思)-2021-2022学年北师大版数学六年级上册.doc VIP
- 2025年油田抽油机行业研究报告及未来发展趋势预测.docx
文档评论(0)