1、福建农林大学金山学院实验报告 系(教研室): 专业: 年级: 实验课程:数据结构 姓名: 学号: 实验室号:_ _ 计算机号: 实验时间: 指导教师签字: 成绩: 实验四:检索及基本算法的设计(验证性、4学时) 一、实验目的和要求 (1) 熟练掌握各种静态检索表方法(顺序检索、二分检索等); (2) 熟练掌握二叉排序树检索算
2、法; (3) 了解和掌握其它检索方法。 二、实验内容和原理 (1) 顺序检索算法的实现、二分法检索算法的实现; (2) 二叉排序树检索算法的实现; (3) Hash表的检索算法实现(选做)。 三、实验环境 1. 硬件:PC机; 2. 软件:Windows操作系统、Visual C++ 6.0 四、算法描述及实验步骤 算法描述及步骤如下: (1)在VC环境下输入题目给出的程序代码。 (2)检查程序有无错误(包括语法错误和逻辑错误),有则改之。 (3)编译和连接,仔细分析编译信息,如有错误应找出原因并改正之 (4)运行程序,输入数据,分析结果。 (5)将调试好的程序
3、保存在自己的用户目录中,文件名自定 五、调试过程 顺序检索和二分法检索 二叉树查找 六、实验结果 顺序检索和二分法检索 二叉树查找 七、总结 (1)通过练习,了解C++源程序的编译,连接的运行,并能熟练使用集成环境的界面和有关菜单。 (2)能够通过编译时出现的出错提示信息,进行初步的纠错。 (3)完成一个程序的一般步骤为设计,录入 ,编译 ,如果出错,则修改,然后再编译,编译成功后,看看结果是否正确,如果结果不正确,则再重复以上步骤 (4)通过练习能,了解顺序检索、二分法检索和二叉树查找的性质,并通过练习进一步掌握顺序检索、二分法检索和二叉树查找的应用。
4、
附录:
顺序检索和二分法检索
#include
5、gh=s;
while (low<=high)
{
mid=(low+high)/2;
if(k==R[mid].key)
return mid;
else
if(k
6、i].key;
cout<<"输入要检索的数:"< 7、turn 0;
}
二叉树查找
#include 8、 }
while(p!=NULL&&p->value!=k)
{
if(k 9、e
q->right=temp;
}
else
{
cout<<"记录已经存在"< 10、 q=root;
int t;
while(p!=NULL)
{
if(n==p->value)
{
t=1;
break;
}
else
if(n 11、 else
cout<<"找不到!"<






