- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 程序设计 哈希表设计[精品]
学 号
数据结构课程设计
设计说明书
起止日期: 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=niuyan;
NameList[1].py=wangbo;
NameList[2].py=qianyiyang;
NameList[3].py=sunyu;
NameList[4].py=zhangxiao;
NameList[5].py=liudonghui;
NameList[6].py=songkaili;
NameList[7].py=lizhilei;
NameList[8].py=luhaiquan;
NameList[9].py=maxiao;
NameList[10].py=mayao;
NameList[11].py=mazhenguo;
NameList[12].py=xiaoshenhai;
NameList[13].py=lifengbiao;
NameList[14].py=wutonggen;
NameList[15].py=zhaoshengya;
NameList[16].py=zhuanghongyang;
NameList[17].py=lianggang;
NameList[18].py=dongzebin;
NameList[19].py=hanjianfei;
NameList[20].py=gaoweikun;
NameList[21].py=wangtianjiao;
NameList[22].py=jiangweiwang;
NameList[23].py=wangshujuan;
NameList[24].py=wangyan;
NameList[25].py=zhangboyang;
NameList[26].py=yangqianqian;
N
您可能关注的文档
- 数学同步练习题考试题试卷教案同位角内错角各同旁内角[精品].doc
- 数学学科核心素养的认识与培养(毛世槐)[精品].doc
- 数学学年论文毕业论文重积分的计算方法[精品].doc
- 数学同步练习题考试题试卷教案09届高三数学极坐标与参数方程试题精选[精品].doc
- 数学分析课件PPT之十一章反常积分[精品].ppt
- 数学分析教程(上册) 常庚哲 史济怀 习题解答 1.1-3.4[精品].pdf
- 数学广角搭配的学问课件(小学三年级数学课件)[精品].ppt
- 数学建模 垃圾分类处理与清运方案设计方案[精品].doc
- 数学建模《降落伞的选购问题》[精品].doc
- 数学同步练习题考试题试卷教案第八章 第一节 空间几何体的结构、三视图和直观图、表面积和体积[精品].doc
最近下载
- 管理学(第二版)邢以群PPT全套课件.pptx
- 高层住宅太阳能光伏发电施工方案.pdf VIP
- 2024年安徽体育运动职业技术学院单招职业技能测试题库及答案解析.docx VIP
- 贵州建设工程质量检测收费标准.pdf
- 《Photoshop-CC图像处理》教学教案—单元6修饰图像-2.docx VIP
- 医院职称聘任管理办法.doc
- DB65T2189-2005 维吾尔人名汉字音译转写规则.pdf
- 外科学教学课件:手外伤及断肢(指)再植.ppt
- 01《岳阳楼记》知识点检测题(教师版)2024年中考语文复习课标文言文知识点全面检测题.docx VIP
- 辅助执行文件华住集团酒店抹布使用标准(1390KB).pptx VIP
文档评论(0)