程序设计类课程试验报告_第1页
程序设计类课程试验报告_第2页
程序设计类课程试验报告_第3页
程序设计类课程试验报告_第4页
程序设计类课程试验报告_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、大型企业经典管理资料模板, WORD文档,欢迎下载交流国脉信息学院(程序设计类课程)实验报告课程名称:算法与数据结构姓 名:张三系:计算机科学与技术专 业:年 级:学 号:指导教师:李小林职 称:副教授2012年 11月 日分享一个苹果,各得一个苹果,分享一种思想,各得两种思想。分享是件快乐的事件,乐于分享的人,事业更容易成功。实验项目列表序号实验项目名称成绩指导教师1第七章检索及基本算法23456789101112福建农林大学计算机与信息学院实验报告系:计算机科学与技术专业:年级:姓名: 张三学号: 091150002实验室号_ 计算机号 93实验时间:2012.6.1 指导教师签字:成绩:

2、实验七检索一、实验目的和要求1) 掌握检索的不同方法,并能用高级语言实现检索算法。2) 熟练掌握顺序表和有序表的检索方法,以及静态检索树的构造方法和检索算法,理解静态检索树的折半检索方法。3) 熟练掌握二叉排序树的构造和检索方法。4) 熟悉各种存储结构的特征以及如何应用树结构解决具体问题。二、实验内容和原理实验内容:1) 编程实现在二叉检索树中删除一个结点的算法。2) 编程实现Fibonacci检索算法。实验原理:1)构造排序树,每输入一个数就进行排序,选择插入的结点,删除结点,没删 除一个节点就返回到构造排序树的方法。2 ) Fib on acci 数的定义为 f0=0,f1=1,fi二f(

3、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与Ff (i-1 ) , Key比较,其算法描述如下: 若k=Ff(i-1),Key ,则检索成功,Ff(i-1) 为k所在记录。 若kFf(i-1),Key,则下一次的检索范围为下标f(i+1)+1到fi-1,序列长度为(fi-1 )- ( f(i-1)+1)+1= fi-f(i-1)-1= f(i-2)

4、-1设F是顺序存储的线性表且满足F1,key F2,key-data=data;no de-lchild=0;no de-rchild=0;if (root=0)root=no de;return ;else p=root;while (p!=0)if (datadata)q=p; p=p-lchild; if (p=0) q-lchild=no de;elseif (datap-data)q=p; p=p-rchild;if (p=0) q-rchild=no de;elsebreak;void showtree( struct BTnode *proot, struct BTnode *m

5、, int space) int i;char b;if (proot!=0)for (i=1;i=0) printf( -);if (proot=root)printf( %dn ,proot-data);elseif (m-dataproot-data)b=L;else b=R;printf( %d (%c) ,proot-data,b);printf( n);m=proot;showtree(proot-lchild,m,space+6); showtree(proot-rchild,m,space+6);Nodep deletep(Node *p)Node *q,*t;t=p;if (

6、p-lchild!=O)p=p-lchild;q=p;while (p-rchild!=0)q=p;p=p-rchild;if (p=q)p-rchild=t-rchild;free(t);return (p);if (p-lchild!=0)q-rchild=p-lchild;elseq-rchild=0;p-lchild=t-lchild;p-rchild=t-rchild;free(t);return (p);elseif (p-rchild!=0)p=p-rchild;q=p;while (p-lchild!=0)q=p;p=p-lchild;if (p=q) p-lchild=t-l

7、child; free(t); return (p);if (p-rchild!=O) q-lchild=p-rchild; else q-lchild=0;p-rchild=t-rchild; p-lchild=t-lchild; free(t); return (p); else free(p);return (0);Nodep deleteBTnode( int x)Node *p=root,*q;while (p!=0) q=p;if (p-datax) if (p-lchild) p=p-lchild;elsebreak;elseif (p-datarchild) p=p-rchil

8、d;else break;if (p-data=x) break;if (p=root)&(p-data=x) root=deletep(p); elseif (p=q-lchild)&(p-data=x) q-lchild=deletep(p);elseif (p=q-rchild)&(p-data=x)q-rchild=deletep(p);elseif (p-data!=x)printf( ca n not found the data you want to delete,please check it!n);return 0;return root;int main()char ch

9、;int data;printf( En ter c create tree,E nter d delete a no de:);scanf( %c,&ch);getchar();root=0;while (ch=c |ch= d)if (ch=c)pri ntf( please in put the key:);scanf( %d,&data); getchar();createtree(data); showtree(root,0,0);elsepri ntf( please in put the key of the node you want del:);scanf( %d,&data

10、);getchar();if (deleteBTnode(data)showtree(root,0,0);printf( En ter c create tree,E nter d delete a no de:);scanf( %c,&ch);return 0;实验习题二:#i nclude stdio.htypedef int keytype;typedef int datatype;typedef struct nodeint key;rectype;int fibonacci( int n)if (n=0) return 0; elseif (n=1) return 1;elseret

11、urn fibonacci(n-1)+fibonacci(n-2); void printData(rectype R, int n) int i;for (i=1; i=n; i+)printf( %5d,Ri.key);if (i%8=0) printf(n ); printf( n); int fibsearch(rectype R,keytype K, int n) int m,i,p,q,t;for (m=0;fibonacci(m)=0 & i=n)if (K = Ri.key)return i; else if (K Ri.key) i=i+q;p=p-q;q=q-p;retur

12、n 0; void main()int m,i,k,n;rectype R20;printf(En ter k nu m: );sca nf(%d,&k);printf(enter R20:);for (i=1;i22BEntei* *cJ createtpee,Enterd&letean o de:cp2easef.zLnput; (liekey = 4LJ!24GEnter JcJ cicatetreeEnteideleten a d.e : cplcdSGLinvut tlieD248H 1 Htiee,Enter J d J key:G7delete a n o de-cEnter J

13、 c1 Create pdnpmt the67Enter J c1 create pl&as: & in put the &71 Enter * c1 create pl住战input the 67 p-l _2 Enter 1 c1 cieate please inputt the 6?CL-2 CL k7 CREntei* J cf create please input the 67ti*ee,Entei* JdJ key:CreeInter JdJ key:-2tree,Enter JdJ key;7tteeEnter JdJ keiP:907 CR 90 CR删除二叉树的节点:del

14、ete a node:cdelete a node :cde Lete a nod.e : cdelete 呂 node:cJeAse ini)uc ttie7-2 g90 hnter J cJ create please input thetree .CnlzeF ke:BdJ dea node :c-2 B 90Enter J cJ ci*ete|j2eise Itipui tlie i?-2 e90Er ter J Ctree,EnterofdH delete a node:d node /ou uan de 1: 1佃J GreateplesG invt tlictreeEnter k

15、斗# of肓li斗JtlJ deletE a node:d nolc wnt del :67-2 9M 7 CRcreateinput theEn tei*- * c please27Jd* delet:ea. made: c15 CR Enter J c pleasecreacc input theCree,Enter key:9d * deletea nod&:c6 m7 CR1 CR9 CLEnter- 1 c 1 cvegite please input the can七ree,EntEP key oF tFe not faund the data you uant to de let

16、 e,please check it* tr&ateJ dJ deletenode 50ut del: 1a nodeEnter- * cpleaseinput thetree,Enter Jd1 delete 孔 node:d kuy of tlie node yau irant del : 769 CR15 CIOEntei* J c1 createtree,Enter ! delete a node:11;1:11:1;1:1:1.1.:1:L1:L11111已启动生磁:项目:埶捐箱拘过髓.旣畫.D*bus Win32生舷启前B寸间対2011/5/9迅:匹竹仇1 皿iti H 工-正在仓

17、JB “険山吐数拥結构试验.5勿:2酢血bpiu”,因为己指定”战 w aysC r e at e oHZIComy ile ;卜数据箱构i牆=pp*c ii:*rshrde蠱UjA勤需结枸值噓飒据结构述噓I数据箔枸i述瞌 =PP Cl?): errr C2039:k*y*不是“ 的成员tViM屮如皿加麻频据结构试瞪I藪据结构诫瞪I埶堀结构诫峻.bp(5:堡见“讹W的声明. uearshpdesktop數IB结构试唸數堀结构过唸逼tlH结构试验.口曲住刃:error C2039: ukey 1不是u狂的咸员c: uEer5hpdeSktOp数据结构试验I数据结构过验数据结构试验.cpp:蚤见n

18、配汀的靑明_: u3PT-shpde5ktop|jig结构试噓诸曲结构试噓燼据结枸试9. cpp 01) : ettct C2033; ukey:不是 un.cde,的成员心屮hjA讥訪仙数撼结构试磕燼I据结枸试瞌诸朋结构试验;巷见“秋匪刊的声閉P血吐吕如也曲叩谢振谿构试验数据结构试验谶据站构试血cpp空);error C2039: (tk?0 CR Enttir f c please 丄nput the21 CL|90 CREntei* 1 c* create p& i rtput the 6721!56CR?acbEnter 1c* create please input the 672t

19、l fLA S& CRtrees, Ent er P key;?0delete a node:cdelete 赳 nude:c?4 CLkey-21上i*ee t- Eratei r key:&6teeEntei key:34delete 日 node 2cdelete a nodejc?0 CREn七ei* * cr create tree ,Enter 1 d1 de le te a node please input tlie |56 OD34 CD-24 90 CRtreeEntei* key of the删除结点成功:*d/ delete a. node:d.node you. va.nt de 1: 21(R(L(R1 create9 0 Entev J c IleA&e input the 6724(L34(P9824 ?0 ti

温馨提示

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

评论

0/150

提交评论