数据结构实验---折半查找实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
深圳大学实验报告
课程名称:数据结构
实验项目名称:查找排序之折半查找
学院:信息工程学院
专业:电子信息工程
指导教师:
报告人:学号:********** 班级:电子1班实验时间:2011年12月2日
实验报告提交时间:2011年12月13日
教务处制
//调用函数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;
}
四、实验结论:
实结果图:
情况一、能够在待查数组中查找到待查元素
情况二、不能够在待查数组中查找到待查元素
数据分析
基于上面程序运行图可以很明显得知整个算法的实现过程,针对第一个图:
1、首先建立一个数组存放待查元素
2、针对定值key进行折半查找,第一个图可以得到key=11
3、mid=(low+high)/2 =(0+5)/2 =2.得到的是ST[2]=33,查找了一次
4、判断ST[2]=33大于key=11,即执行high=mid-1=1
5、mid=(low+high)/2 =(0+1)/2 =0.得到的是ST[0]=11=key,查找成功,查找了两次
6、返回待查元素所在位置
7、同理。若查找不成功则返回查找失败
五、实验体会:
本次实验很简单,只要掌握折半查找算法的原理,那么剩下的就是花时间编写代码和调试程序。这次实验成功实现了折半查找算法。通过这次实验,对折半查找算法有了更加深刻的了解,同时在一定的程度上提高了编程能力。