- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构》课程设计说明书-hash表的建立和查找
课程设计任务书
学生姓名: xxx 专业班级: 计算机0502
指导教师: xxx 工作单位:计算机科学与技术学院
题 目: Hash表的建立和查找
初始条件:
理论:学习了《数据结构》课程,掌握了基本的数据结构和常用的算法;
实践:计算机技术系实验室提供计算机及软件开发环境。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、系统应具备的功能:
(1)设计哈希函数和哈希表;
(2)设计解决冲突的方法;
(3)输入一组数据建立哈希表,并实现在哈希表中进行查找。
2、数据结构设计;
3、主要算法设计;
4、编程及上机实现;
5、撰写课程设计报告,包括:
(1)设计题目;
(2)摘要和关键字;
(3)正文,包括引言、需求分析、数据结构设计、算法设计、程序实现及测试、结果分析、设计体会等;
(4)结束语;
(5)参考文献。
时间安排: 2007年7月2日-7日 18周)
7月2日 查阅资料
7月3日 系统设计,数据结构设计,算法设计
7月4日-5日 编程并上机调试
7月6日 撰写报告
7月7日 验收程序,提交设计报告书。
指导教师签名: 2007年7月2日
系主任(或责任教师)签名: 2007年7月2日
Hash表的建立和查找
摘要: 本人设计了一个Hash表的建立和查找系统,其主要功能是,用户可以手工输入Hash表元素个数和各个元素的数据内容,系统便相应地建立一个Hash表,(输入错误时,系统会显示输入错误,并提示重新输入);可对已建立的Hash表进行多次查找,系统打印查找到的信息,用户可以按提示信息退出系统。Hash表采用结构体数组进行存储,Hash函数由除留余数法建立,冲突的解决采用线性探测。
关键字: Hash表,结构体数组,除留余数法,线性探测
0.引言
随着时代的进步,科技的发展,信息时代已经来临,在这样的时代背景之下,人们迫切需要对信息进行存储和查找,而数据结构成为了信息技术中极为重要的一门学科,发挥着关键作用。信息资料之多﹑之杂﹑之广,使如何存储和高效查找信息成为了一个很严肃的问题。本次课程设计中,我设计了一个小程序对用户输入的数据利用Hash表进行存储。存储完成后,用户可利用Hash表查找数据,速度十分快,可多次查找,也可按提示信息退出。
1.需求分析
本次课程设计需要实现Hash表的建立和查找,具体内容如下:
1.1 Hash 表的建立
建立Hash函数,从而根据用户输入的数据元素个数和各元素的值建立Hash 表,即数据的添加和存储。如果输入的元素个数超出规定范围,则打印出错信息,并提示重新输入信息。
1.2 Hash 表的查找
Hash表建立好之后,用户可以输入想要查找的值,屏幕显示相应信息。如果存在此值,屏幕显示该值信息;如果不存在,则显示该值不存在;如果想退出系统,则按提示输入命令。
2.数据结构设计
2.1定义结构体
typedef struct
{
int key; //定义关键字
int cn; //定义查找次数cn
}hashtable; //定义哈希表类型
2.2定义结构体数组
hashtable ht[hm]; //定义哈希表空间
3.算法设计
3.1 Hash函数
该函数利用除留余数法实现“Hash 函数”
#define m 19 //不大于表长的最大质数
Status h(keytype key){
//哈希函数
return(key%m); //除留余数法
}//h
3.2信息查找函数
这个函数能查找信息,它既能用于查找所输入信息,又能在建立Hash的时候被建立Hash表的函数调用。用户可以输入想要查找的值,屏幕显示相应信息。如果存在此值,屏幕显示该值信息;如果不存在,则显示该值不存在;如果想退出系统,则按提示输入命令。
Status HashSearch(hashtable ht[],keytype key){
//哈希表查找函数
int d,i;
i=0;
d=h(key); //求哈希地址
ht[d].cn=0; //记录元素被查找的次数
while((ht[d].key!=key)(ht[d].key!=free)(ihm)){
//元素位置冲突时,进
您可能关注的文档
最近下载
- 机电安装工程调试方案.doc VIP
- 2024-2025学年初中数学八年级上册青岛版(2024)教学设计合集.docx
- 化工单元操作(浙大)中国大学MOOC慕课 章节测验期末考试客观题答案.docx VIP
- 2023-2024学年湖南省郴州市七年级(下)期末数学试卷(含答案).pdf VIP
- 酒店宾馆客房卫生检查表.docx VIP
- 标准图集-03S402-室内管道支架及吊架.pdf VIP
- 2024铁路隧道机械化施工技术指南.pdf
- 2024年中考语文备考之八年级上学期名著阅读《红星照耀中国》要点梳理+中考真题.docx VIP
- 《新闻编辑》课程考试复习题库(含答案).docx VIP
- 《建设项目工程总承包计价规范》解读与应用 (正式版).pptx
文档评论(0)