网站大量收购闲置独家精品文档,联系QQ:2885784924

[实验七查找技术的编程实现实验报告.docVIP

[实验七查找技术的编程实现实验报告.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[实验七查找技术的编程实现实验报告

HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY 数据结构 实 验 报 告 实验项目 实验七 实验类别 提高篇 学生姓名 朱忠栋 学生学号 20120231515 完成日期 2014-12-30 指导教师 付勇智 实验成绩 评阅日期 评阅教师 实验七 查找技术的编程实现 【实验目的】 查找技术的编程实现 要求: 查找技术的编程实现(2学时,综合型),掌握查找技术的编程实现,可以实现一种,也可以实现多种。也鼓励学生利用基本操作进行一些应用的程序设计。 【实验性质】 综合性实验,其综合性体现在本实验的内容具有的实际应用价值,多种数据结构的综合应用,各种具有代表性的算法设计和程序实现。(学时数:2H) 【实验内容】 1.顺序、二分等查找程序设计。 2.鼓励学生实现哈希法等查找程序设计。只要是本章讨论的查找技术都可以作为编程的内容。 3.鼓励将多种方法进行同时编程进行对比。 【注意事项】 1.开发语言:使用C。 2.可以自己增加其他功能。 【实验分析、说明过程】 本次实验提高篇主要考查查找技术的编程实现,掌握查找技术的编程实现。 //运用除留余数法作为哈希函数及差值解决法解决哈希冲突解决法、设计哈希表。*/ 程序构思: //依除留余数法将数据存储至哈希表中,发生哈希冲突时以差值解决法解决。 //除留余数法: //Address=Key % Array_Size //差值解决法: //New_Address=(Old_Address+Offset)%Array_Siae ///数据查找时,同时也先用除留余数法运算出数据地址, //若找不到运用差值法找出下一个数据地址,直到数据全查找完为止。 【思考问题】 查找的效率主要是什么操作体现的? 答:查找运算的主要操作是关键字的比较,所以通常把查找过程中对关键字需要执行 的平均比较次数(也称平均查找长度)作为衡量一个查找算法效率的标准。 2.?二分法的优缺点分析? 答:优点:高效 缺点:二分法虽然有较高的查找速度,但是只能查有序表,而排序也是一种很浪费 时间的运算,而且二分法查找只适合顺序存储结构,为保持表的有序性,在进行插 入和删除操作时都必须移动大量的结点。 3.?哪些查找算法可以用递归实现? 二叉查找树的查找,二叉查找树的插入 4.?哈希查找法的特点和优点?最终取消了数据比较的基本操作吗? 答:取消了数据比较的基本操作 特点:通过对关键字值进行某种运算来确定待查记录的存放地址。但是,由于关键字的 取值范围往往大于允许的地址范围,不可避免的会发生冲突,而使查找时间增加, 但是只要能构造出均匀的哈希函数,并能较好地处理冲突,哈希法是十分有效的。 优点:在查找过程中可以不进行数据的比较,因此,其查找时间与表中记录的个数无关, 当所选择的的哈希函数能得到均匀的地址分布时,其查找效率比其他的几种查找方 法都要高。 5.?举出查找的应用范例? 答:二叉树的平衡#includestdio.h #define?Max?6 #define?HashMax?5 int?Data[Max]={12,160,219,522,725,9997};?//数据数组 int?HashTab[HashMax]; int?Counter=1;???????????????????????????//计数器 int?Hash_Mod(int?Key)????????????????????//哈希函数之除留余数法 { ????return?(Key%5);??????????????????????//返回,键值除以哈希表大小取余数 } int?Collision_Offset(int?Address)????????//差值哈希冲突解决法? { ????int?offset=3;????????????????????????//设差值为3 ????return?((Address+offset)%5);?????????//返回,旧地址加差值除以哈希表大小取余数*/ } int?Create_Hash(int?Key)????????????????//建立哈希表? { ??int

文档评论(0)

xiayutian80 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档