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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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、同理。若查找不成功则返回查找失败

五、实验体会:

本次实验很简单,只要掌握折半查找算法的原理,那么剩下的就是花时间编写代码和调试程序。这次实验成功实现了折半查找算法。通过这次实验,对折半查找算法有了更加深刻的了解,同时在一定的程度上提高了编程能力。

相关文档
最新文档