ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:154KB ,
资源ID:4872170      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4872170.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构实验---折半查找实验报告.doc)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据结构实验---折半查找实验报告.doc

1、深 圳 大 学 实 验 报 告 课程名称: 数据结构 实验项目名称: 查找排序之折半查找 学院: 信息工程学院 专业: 电子信息工程 指导教师: 报告人: 学号:2009100000 班级: 电子1班 实验时间: 2011年12月2日 实验报告提交时间: 2011年12月13日 教务处制一、实验目的与要求:实验目的:通过编程实现折半查找算法,掌握顺序查找方法的理论原理和实现过程,从而加深对顺序查找方法的理解,提高折半查找方法的编程应用技巧。实验要求:仔细阅读程序框架代码,完成框架中的代码编写要求,结果图参考示例,请输入多组数据检测算法,要验证查找成功和不成功的情况。根据要求编写程序实现折半查找

2、算法,输入测试数据验证算法正确性,并进行代码分析和结果说明。二、方法、步骤:折半查找算法的原理:折半查找的算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小于该中 点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。 折半查找是一种高效的查找方法。它可以明显减少比较次数,提高查找效率。第一、 首先确定整个查找区间的中间位置 mid = ( low + high )/ 2 第二、 用待查关键字值与中间位置的关键字值进行比较; 若相等,则查找成功 若大于,则在后(右)半个区域继续进行折半

3、查找 若小于,则在前(左)半个区域继续进行折半查找 第三、对确定的缩小区域再按折半公式,重复上述步骤。最后,得到结果:要么查找成功, 要么查找失败。三实验过程及内容:(对程序代码进行说明和分析,越详细越好,代码排版要整齐,可读性要高)1、详细阅读折半查找算法的实现过程2、详细阅读老师提供的程序框架3、根据实验要求进行代码的编写4、进行代码的调试实验代码如下:#include #include const int MaxLen=100;/设定图最多包含100个顶点int DataMaxLen;/装载数据序列int Dnum;/表示数据序列实际长度int icount;/查找次数/- Search

4、_Bin代码编写-int Search_Bin ( int ST, int length, int key ) int low,mid,high; /low,high,mid分别用来存放待查元素的上界,下界和中间位置 low=0; /首先low从数组ST的第0号开始 high=length-1; /high从数组ST的最后一位开始 while(low = high) /循环直至low小于或等于high icount+;/查找次数加一mid=(low+high)/2; /取mid的值if(STmid=key) return mid; /若定值key等于STmid则返回待查元素所在位置else i

5、f (keySTmid) high=mid-1; /不然又若定值key小于STmid则让high指向mid的前面一位else low=mid+1; /再不然则让low指向mid的后面一位 return -1; /查找不成功返回-1 / Search_Bin/* 主函数 */int main()int i, skey;/输入数据printf(请输入数组长度(不小于5):);scanf(%d, &Dnum);printf(请按照从小到大的顺序输入数据序列:n);for(i=0; iDnum; i+) scanf(%d, &Datai);printf(请输入要查找的数据:);scanf(%d, &s

6、key);/调用函数Search_Bin,并将函数返回结果放在i中i = Search_Bin(Data, Dnum, skey);printf(-n);if(i=-1) /若Search_Bin返回值为-1则显示查找失败printf(查找失败!n);else/不然则执行下面语句printf(查找成功!n);printf(查找的数据位置在(%d)n,i);printf(查找次数(%d),icount);printf(n);return 0;四、实验结论: 实结果图:情况一、能够在待查数组中查找到待查元素情况二、不能够在待查数组中查找到待查元素数据分析基于上面程序运行图可以很明显得知整个算法的实

7、现过程,针对第一个图:1、首先建立一个数组存放待查元素2、针对定值key进行折半查找,第一个图可以得到key=113、mid=(low+high)/2 =(0+5)/2 =2.得到的是ST2=33,查找了一次4、判断ST2=33大于key=11,即执行high=mid-1=15、mid=(low+high)/2 =(0+1)/2 =0.得到的是ST0=11=key,查找成功,查找了两次6、返回待查元素所在位置7、同理。若查找不成功则返回查找失败五、实验体会:本次实验很简单,只要掌握折半查找算法的原理,那么剩下的就是花时间编写代码和调试程序。这次实验成功实现了折半查找算法。通过这次实验,对折半查找算法有了更加深刻的了解,同时在一定的程度上提高了编程能力。指导教师批阅意见:成绩评定: 指导教师签字: 年 月 日备注:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2