数据结构实验报告-检索及基本算法_第1页
数据结构实验报告-检索及基本算法_第2页
数据结构实验报告-检索及基本算法_第3页
数据结构实验报告-检索及基本算法_第4页
数据结构实验报告-检索及基本算法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

福建农林大学计算机与信息学院实验报告检索及基本算法实验目的和要求掌握检索的不同方法,并能用高级语言实现检索算法。熟练掌握顺序表和有序表的检索方法,以及静态检索树的构造方法和检索算法,理解静态检索树的折半检索方法。熟练掌握二叉排序树的构造和检索方法。熟悉各种存储结构的特征以及如何应用树结构解决具体问题。实验内容和原理实验内容:编程实现Fibonacci检索算法。实验原理:Fibonacci数的定义为f0=0,f1=1,fi=f(i-1)+f(i-2)(i≥2)。由此得Fibonacci数列为0,1,1,2,3,5,8,13,21,34,55,89,144,……设数组F中元素按关键字值从小到大顺序排列,并假定元素个数n比某个Fibonacci 树fi小1,即n=fi-1。第一次用待查关键字k与F[f(i-1)],Key比较,其算法描述 如下:① 若k=F[f(i-1)],Key,则检索成功,F[f(i-1)]为k所在记录。② 若k<F[f(i-1)],Key,则下一次的检索范围为下标1到f(i-1),序列长度为f(i-1)。③ 若k>F[f(i-1)],Key,则下一次的检索范围为下标f(i+1)+1到fi-1,序列长度为(fi-1)-(f(i-1)+1)+1=fi-f(i-1)-1=f(i-2)-1设F是顺序存储的线性表且满足F[1],key≤F[2],key≤…≤F[n]。key,k是已知的关键字值,在F中检索关键字值为k的记录。若找到返回其下标值,否则返回0.实验环境WindowsXP系统visualc++6.0算法描述及实验步骤实验习题:#include"stdio.h"#definetrue1#definefalse0typedefintkeytype;typedefintdatatype;typedefstruct{keytypekey;datatypeother;}rectype;intfibonacci(intn){if(n==0)return(n);elseif(n==1)return(1);elsereturn(fibonacci(n-1)+fibonacci(n-2));}intfibosrch(rectypeR[],keytypek,intn){inti,p,q,s,t,flag1,flag2;i=fibonacci(n-1);q=fibonacci(n-2);s=fibonacci(n-3);s=n+1-(i+p);if(k>R[i].key)i=i+s;flag1=false;while((i)&&(!flag1)){if(R[i].key==k)flag2=1;elseif(R[i].key>k)flag2=3;switch(flag2){case1:flag1=true;break;case2:if(q==0)i=0; else{i=i-q;t=p;p=q;q=t-p;}break;case3:if(p==1)i=0;else{i=i+p;p=p-q;q=q-p;}break;default:;}}return(i);}main(){inta,i,k,n;rectypeR[15];scanf("%d",&k);for(i=1;i<=15;i++)scanf("%d",R[i]);a=fibosrch(R,k,15);printf("%d",a);}调试过程在创建结构体时未定义key.实验结果在Fibonacci数列没有找到关键字的情况:在Fibonacci数列找到关键字的情况:总结掌握了二叉排序树的构造和检索方法。删除二叉检索树的结点时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论