数据结构课程设计报告-哈希表设计

数据结构课程设计报告-哈希表设计

ID:6333105

大小:462.50 KB

页数:18页

时间:2018-01-10

数据结构课程设计报告-哈希表设计_第1页
数据结构课程设计报告-哈希表设计_第2页
数据结构课程设计报告-哈希表设计_第3页
数据结构课程设计报告-哈希表设计_第4页
数据结构课程设计报告-哈希表设计_第5页
资源描述:

《数据结构课程设计报告-哈希表设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构课程设计报告题目:哈希表设计院(系):计算机工程学院专业:计算机科学与技术班级:嵌入式1091学生:指导教师:2010年12月16目录一、设计目的1二、设计内容1三、程序设计步骤2四、调试分析11五、测试结果11六、课程设计小结1616一、设计目的1、学会根据实际问题建立哈希表,并实现其查找功能。2、理解哈希表的思想就是以借点的关键字K为变量,通过一个确定的函数关系f,计算出对应的函数值f(k),把这个函数值解释为结点的存储地址,将该结点存入f(k)所指示的存储位置上,这样建立的表称为哈希表。3、学会使用除留余数法获得哈希地址。4、学会使用再地址方法解决哈希冲突问题

2、。5、学会查阅书籍,自我思考,解决实际问题。二、设计内容1、系统名称:哈希表设计针对自己班集体中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。2、要求:(1)设计一个哈希表,用来存放30个人名。(2)要求人名为中国姓名的汉语拼音形式。(3)要求用除留余数法构造哈希函数,用线性探查法解决哈希冲突。(4)本设计实现的功能:①建立哈希表并且将其显示出来。②通过要查找的关键字用哈希函数计算出相应的地址来查找人名。16三、程序设计步骤1)查找功能分析说明:本实验最关键的是实现哈希表的查找功能,因为元素的地址可能存在同义词,所以便会存在查找冲突,关键的就

3、是解决这种冲突问题。哈希中解决冲突的方法有很多种,这里采用线性探查法解决冲突。通过构造函数d=(d+Hash(key))%p,若数据元素在存储地址d发生冲突,则放到存储地址(d1+k)%m;若又发生冲突则放到存储地址(d2+k)%m;若再发生冲突则放到存储地址(d3+k)%m;……;直到碰到第一个为空的存储地址(di+k)%m,则将数据元素存放在该存储空间。查找的功能分析说明图如下:开始输入要查找的姓名判断是否冲突线性探查法输出否是是否冲突否是162)代码分析:#include#defineHASH_LEN50/*哈希表长度*/#defineM47/*定义

4、P值*/#defineNAME_NO30/*人名个数*/typedefstructNAME{char*py;/*名字拼音*/intk;/*拼音所对应的整数*/}NAME;NAMENameList[HASH_LEN];typedefstructhterm/*哈希表*/{char*py;/*名字的拼音*/intk;/*拼音所对应的整数*/intsi;/*查找长度*/}HASH;HASHHashList[HASH_LEN];/*-----------------姓名(结构体数组)初始化----------------*/voidInitNameList(){inti;char*f

5、;intr,s0;NameList[0].py="bianshan";NameList[1].py="dengtao";NameList[2].py="dingjun";NameList[3].py="fanyongliang";NameList[4].py="wangchen";NameList[5].py="wangrong";NameList[6].py="zhouyu";NameList[7].py="liuyuanlong";NameList[8].py="wuliang";NameList[9].py="wulingjie";NameList[10].py="w

6、angzhaocai";NameList[11].py="yujia";NameList[12].py="zhangzhefu";NameList[13].py="zhangnannan";NameList[14].py="zhoujie";NameList[15].py="yuanhunan";NameList[16].py="lichunfeng";NameList[17].py="lishiyan";NameList[18].py="zhouxiaoqing";16NameList[19].py="liuwei";NameList[20].py="niliquan";

7、NameList[21].py="qinyao";NameList[22].py="zhuchengwei";NameList[23].py="lvshuai";NameList[24].py="qiuyan";NameList[25].py="gutianyun";NameList[26].py="zhoupei";NameList[27].py="chenjinmei";NameList[28].py="zhouxu";NameList[29].py="zhaoliping";for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。