昆明理工大学信息工程与自动化学院学生实验报告
( 201 —201 学年第一学期)
课程名称:数据结构 开课实验室: 年 月 日
一.实验内容:
查找算法,其中线性表的查找包括顺序查找,二分查找,分块查找;树表的查找包括二叉排序树等;还有散列表的查找等等。
二.实验目的:
1.掌握各种查找算法理解和实现;
2.增强上机编程调试能力;
三.主要程序代码分析:
typedef struct
{
int Key; //关键项
}ElemType;
int Search_Seq(SSTable ST,int Key) //顺序查找
{
int i;
ST.elem[0].Key=Key; //设置监视哨
for(i=ST.length;ST.elem[i].Key!=Key;i--);
return i;
}
int Search_Bin(SSTable ST,int Key) //在有序表中进行二分查找
{
int low=1;
int high=ST.length; //置查找区间的上、下届初值
int mid;
count=0;
while(low<=high) //当前查找区间非空
{
count++;
mid=(low+high)/2;
if(ST.elem[mid].Key==Key)
return mid; //查找成功,返回
else if(Key<ST.elem[mid].Key)
high=mid-1; //缩小查找区间为左子表
else
low=mid+1; //缩小查找区间为右子表
}
return (-1); //查找失败
}
四.程序运行结果:
五.实验总结:
查找又称检索,它也是数据处理中经常使用的一种重要的运算,在线性表上的查找方法有顺序查找,二分查找和分块查找。顺序查找是一种最简单的查找方法。它的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到的结点关键字和定值K相比较,若当前扫描到的结点关键字与K相等,则查找成功;若扫描结束后仍未找到关键字等于K的结点,则查找失败。对于二分查找,它要求线性表是有序表,并且要用向量作为表的存储结构。
我们在以后的学习中也要不断地熟悉这些查找方法,因为它们在数据处理中会经常用到,只有将它们掌握好,而且我们还要不断地练习,这样我们的编程能力才会提高,有更大的进步。
实验题91设计一个程序exp91cpp输出在顺序表36210185749中采用顺序方法找关键字5的过程程序如下文件名exp91cp…
昆明理工大学信息工程与自动化学院学生实验报告201201学年第一学期课程名称数据结构开课实验室年月日一实验内容查找算法其中线性表的…
实验报告课程名称实验项目数据结构查找姓名xx专业班级学号网络工程网络132130402xxxx计算机科学与技术学院实验教学中心20…
100410528孙晨添数据结构实验报告实验第四章实验简单查找算法一需求和规格说明查找算法这里主要使用了顺序查找折半查找二叉排序树…
实验四查找一实验目的1掌握顺序表的查找方法尤其是折半查找方法2掌握二叉排序树的查找算法二实验内容1234建立一个顺序表用顺序查找的…
数据结构实验实验一静态查找表中的查找一、实验目的:1、理解静态查找表的概念2、掌握顺序查找和折半查找算法及其实现方法3、理解顺序查…
实验一线性表的基本操作实验目的学习掌握线性表的顺序存储结构链式存储结构的设计与操作对顺序表建立插入删除的基本操作对单链表建立插入删…
81实现顺序查找的算法一实验目的1熟悉掌握各种查找方法深刻理解各种查找算法及其执行的过程2学会分析各种查找算法的性能二实验内容81…
河南省高等教育自学考试实验报告册计算机及应用专业本科段数据结构姓名李威威准考证号所属地市焦作市实验地点焦作大学实验实训中心实验日期…
信息检索课程结业报告姓学信息检索与web搜索应用背景及概念信息检索InformationRetrieval是指信息按一定的方式组织…