欢迎来到天天文库
浏览记录
ID:28027249
大小:51.00 KB
页数:4页
时间:2018-12-07
《数据结构-递归算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验报告课程数据结构实验名称实验五递归算法学号姓名实验H期:2012/11/23实验五递归算法实验目的:1.熟悉递归算法的实现过程及实现机理;2.熟练并掌握递归算法的设计方法;3.丫解递归算法到非递归算法的转换。实验原理:商级程序语言函数调用原理;递归算法的设计方法。实验内容:6-14折半查找问题。折半查找问题的描述见6.1节,折半查找问题的递归算法见例6-2。要求:(1)设计折半查找问题的循环结构算法:(2)设计一个査找成功的例子和一个查找不成功的例子,并设计测试主程序;(3)设汁一个包含10000个数据元素的査找成功的例子,然后分别调用循环结构的査找算法和递归结构的查找算法
2、,并测试出两种算法在计算机上的实际运行时间。实验结果:(1)折半査找问题的循环结构算法程序为:intCsearch(inttest[],intx,intlowjnthigh){inti;for(i=0;itest[ij)low=i+l;elsehigh=i-l;}if(i〉=high)return-1;}(2)①查找成功的例子:#includeintCsearch(inttest[l,intx,intlow,inthigh){inti;for(i=0;i<
3、high;i=(low+high)/2)if(x==test[i])returni;elseif(x>test[i])low=i+l;elsehigh=i-l;}if(i〉=high)return-1;}intmain(){inta[10]={l,2,3,4,5,6,7,8,9,10};intx=6,flag;intlow=0,high=10;flag=C$earch(a,x,0,10);if(flag==-l)printf("searchingisfailed!");elseprintfC'searchingissuccess!n);printf(HThisprogr
4、amismadeby10273206");}运行结果为:S3••D:10273206CH5lanlDebuglanl.exe'searchingissuccess!Thisprogramismadeby10273206Pressanykegtocontinue.②查找失败的例子为:#includeintCsearch(inttest[l,intx,intlow,inthigh){inti;for(i=0;itest[i])low=i+l;el
5、sehigh=i-l;}if(i〉=high)return-1;}intmain(){inta[10]={1,2,3,4,5,6,7,8,9,10};intx=ll,flag;intlow=0,high=l();flag=Csearch(a,x,O,10);if(flag==-l)printf("searchingisfailed!Melseprintf(’’searchingissuccess!M);printff’Thisprogramismadeby10273206H);}运行结果为:-D:10273206CH5lab2Debuglab2.exe-s
6、earchingisfailed!Thisprogramismadeby10273206Pressanykeytocontinue^(1)程序为:#include#includeintBsearch(inta[]Jntx,intlowjnthigh){intmid;if(low〉high)return-1;mid=(low+high)/2;if(x==a[mid])returnmid;elseif(x7、ttest[l,intx,intlow,inthigh){inti;for(i=0;itest[i])low=i+l;elsehigh=i-1;}if(i>=high)return-1;}intmain(){time_tstart,end;doubledif;intBsearch(inta[],intx,intlow,inthigh);intC$earch(inttest[],intx,
7、ttest[l,intx,intlow,inthigh){inti;for(i=0;itest[i])low=i+l;elsehigh=i-1;}if(i>=high)return-1;}intmain(){time_tstart,end;doubledif;intBsearch(inta[],intx,intlow,inthigh);intC$earch(inttest[],intx,
此文档下载收益归作者所有