- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验查找表的操作练习
实 验 报 告
课程名称: 数据结构实验 实验项目: 查找表的操作练习 姓 名: 专 业: 班 级: 学 号:
计算机科学与技术学院
20 17年12 月 5 日
实验项目名称: 查找表的操作练习
一、实验目的
1.熟练掌握静态查找表的查找方法
2.熟练掌握动态查找表的查找方法
二、实验内容
1.用二分查找法对查找表进行查找
2.建立二叉排序树并对该树进行查找
三、实验操作步骤
1.顺序查找
顺序查找是对无序表查找的一种查找方式,为提高执行效率我们在表头设立监督元。
具体实现如下:
int res(Sqlist L,int a)
{
L.List[0]=a;
int i;
for( i=L.length;i=0;i--)
{
if(L.List[i]==a)
return i;
}
return i;
}
2.二分查找
二分查找是对有序表的查找,基于分治的的思想,每次与表的中间元素相比较,由于表示有序的,所以如果相等就查找成功了,不相等只需在表的一半中继续二分查找,减小了需要查找的长度,具体实现有两种方案分为递归与非递归。
int search1(Sqlist L,int a,int left,int right)//递归实现
{
if(leftright)
return -1;
int mid=(left+right)/2;
if(L.List[mid]==a)
return mid;
else if(L.List[mid]a)
return search1(L,a,mid+1,right);
else
return search1(L,a,left,mid-1);
}
int search(Sqlist L,int a)//非递归实现
{
int left=0;
int rigth=L.length-1;
while(left=rigth)
{
int mid=(left+rigth)/2;
if(L.List[mid]==a)
return mid;
if(L.List[mid]a)
left=mid+1;
else
rigth=mid-1;
}
return -1;
}
3.二叉排序树的建立与查找
二叉排序树是左子树小于根小于右子树的一种树,其建立就是动态查找的过程。如果所拿元素小于根去左子树找其所在位置,否则去右子树找其位置。查找的过程则是如果待查找值等于与了根的值则查找成功,如果小于去左子树查找,否则去右子树查找,以此递归执行。具体实现如下:
if(T==NULL)//创建
{
T=(Bitree *)malloc(sizeof(Bitree));
T-data=a;
T-left=NULL;
T-rigth=NULL;
return 1;
}
else
{
if(T-data==a)
return 0;
else if(T-dataa)
createbree(T-rigth,a);
else
createbree(T-left,a);
}
Bitree *re(Bitree *T,int a)//查找
{
if(T==NULL||T-data==a)
return T;
else if(T-dataa)
return re(T-left,a);
else
return re(T-rigth,a);
}
实验结果
顺序查找结果
二分查找结果
二叉排序树查找结果。
实验主要代码如下
顺序查找
int res(Sqlist L,int a)
{
L.List[0]=a;
int i;
for( i=L.length;i=0;i--)
{
if(L.List[i]==a)
return i;
}
return i;
}
二分查找
int search1(Sqlist L,int a,int left,int right)//递归实现
{
if(leftrigh
您可能关注的文档
最近下载
- 建筑垃圾清运投标方案(技术方案).docx
- python351入门指南中文版打印版.docx VIP
- PEP五年级英语下册Unit 4 Part A .pptx VIP
- 神经病学(人卫九版)3-颅内压增高.pptx
- 2023—2024学年山东省济南市市中区八年级上学期期中考试英语试卷(含听力).doc VIP
- 颅脑损伤-参考PPT.ppt
- 天津市河东区第一0二中学2022-2023学年七年级上学期数学期中测试卷【含答案】.pdf VIP
- 四年级语文走月亮课件.pptx VIP
- 浙江省宁波市2023-2024学年高二上学期期中地理试题含解析.pdf VIP
- 人教版五年级上册科学《根和茎》课件图文.ppt
文档评论(0)