- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
散列表的计与实现
安徽省巢湖学院计算机与信息工程学院
课程设计报告
课程名称 《数据结构》
课题名称 散列表的设计与实现
专 业 计算机科学与技术
班 级
学 号
姓 名
联系方式
指导教师
目 录
1、数据结构课程设计任务书 1
1.1、题目 1
1.2、要求 1
2、总体设计 1
2.1、功能模块设计 1
2.2、所有功能模块的流程图 1
3、详细设计 1
3.1、程序中所采用的数据结构及存储结构的说明 1
3.2、算法的设计思想 2
3.3、稀疏矩阵各种运算的性质变换 2
4、调试与测试: 2
4.1、调试方法与步骤: 2
4.2、测试结果的分析与讨论: 3
4.3、测试过程中遇到的主要问题及采取的解决措施: 3
5、时间复杂度的分析: 4
6、源程序清单和执行结果 4
7、C程序设计总结 8
8、致谢 8
9、参考文献 8
1、数据结构课程设计任务书
1.1、题目
1.2、要求1)设每个记录有下列数据项:电话号码、用户名、地址;
2)从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;
3)采用一定的方法解决冲突;
4)查找并显示给定电话号码的记录;
5)查找并显示给定用户名的记录。
【进一步完成内容】
1)系统功能的完善;
2)设计不同的散列函数,比较冲突率;
3)在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。2、总体设计
2.1、功能模块设计
根据课程设计题目的功能要求,各个功能模块的组成框图如下:2.2、所有功能模块的流程图
Hash()函数流程图
以姓名为关键字的Hash()函数流程图
添加结点信息流程图:
申请专利开始
按姓名查找流程图:
按号码查找流程图:
主程序流程图
3、详细设计
name[8] num[11] address[20] next
其中name[8]和num[11]是分别为以电话号码和用户名为关键字域(key),存放关键字;address[20]为结点的数据域(data),用来存储用户的地址信息。next指针是用来指向下一个结点的地址。
unsigned int key 和unsigned int key2分别被定义为电话号码和用户名关键字。程序的主要模块如下:
************************程序部分源代码*************************
3.1建立节点
struct node
{
char name[8],address[20];
char num[11];
node * next;
};
typedef node* pnode; //typedef typedef node* mingzi;
node **phone;
node **nam;
node *a;
3.2对散列函数的定义
本程序要设计两个hash()函数,分别对应电话号码和用户名。本设计中对散列函数选择的是除留余数法,即对关键字进行模运算,将运算结果所得的余数作为关键字(或结点)的存储地址,即H(key)=key mod p,本设计中p取20,然后将计算出来的数作为该结点的地址赋给key。具体方法如下:以电话号码为关键字建立哈希函数hash(char num[11])。以用户名为关键字建立哈希函数hash2(char name[8])。利用强制类型转换,将用户名的每一个字母的ASCLL码值相加并且除以20后的余数。将计算出来的数作为该结点的地址赋给key2。
************************程序部分源代码*************************
a)
void hash(char num[11])
{
key=(int)num[2];
while(num[i]!=NULL)
{
key+=(int)num[i];
i++;
}
key=key%20;
}
b)
void hash2(char name[8])
{
int i = 1;
key2=(int)name[0];
while(name[i]!=NULL)
您可能关注的文档
- 接触式汽车功机速度测量仪研究.doc
- 接触网基开挖(浇筑)安全技术交底.doc
- 接近客户技巧--业务员培训教材.doc
- 接地施工强性条文执行记录表.doc
- 控制测量内计算表格.doc
- 控股公司在事业单位转改革方面的探索与实践.doc
- 控股公司待招职位部竞聘活动策划案.doc
- 推行SPC统计制程分析)作业指导书.doc
- 推动“巾帼文明”创建活动再上新台阶.doc
- 推箱子游戏-51单片机课设计(最全).doc
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
最近下载
- 矿用隔爆兼本安型控制器工艺流程图.doc VIP
- 政治学概论政治学概论编写组05政党与政党制度.ppt VIP
- 《乡村旅游规划与实践》课件——项目七 乡村旅游商品开发与设计.pptx VIP
- 国家义务教育质量监测心理健康测试题.pdf VIP
- 《分数加法和减法》单元整体设计 -2023-2024学年五年级下册数学人教版.doc VIP
- 《0~3岁婴幼儿保育与教育》PPT教学课件(全).pptx VIP
- 小学科学实验课学生合作学习策略与互动模式研究教学研究课题报告.docx
- 测绘工程管理与法律法规 测绘违法案例60讲 5测绘违法案例五.ppt
- 第六届中国国际“互联网+”大学生创新创业大赛项目计划书【模板】.pdf
- 政治学05 政党与政党制度.ppt VIP
文档评论(0)