欢迎来到天天文库
浏览记录
ID:45565233
大小:156.58 KB
页数:30页
时间:2019-11-14
《c算法与分析实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、算法分析与设计实验报告学院专业班级第组目录一、实验目的1二、实验题目11.编程对任意一颗具有n个结点的树进行隔三遍历。隔三遍历是指遍历得到的序列满足序列中任意两个相邻点在树上的距离小于或等于3012.有5支球队,已知比赛的成绩总积分,进球数与失球数,并且假设一支球队一场比赛最多进5个球,求一种可能的比分方案。13.利用递归算法求实数数组A【0:n-1】屮的最小值。14.任意输入5个数,在每札I邻的两个数之间填上加、减、乘、除四个运算符屮的一个,使得表达式的值为一个指定值。1三、实验代码11.第一题12.第二题53.第三题134.第四题14四、实验结果171.第一题17
2、2.第二题183.第三题214.第四题22五、实验感想23一、实验目的1.继续学习C++编程并且练习C++编程的能力。2.复习二叉树以及遍历知识。3.学习递归知识。二、实验题目1.编程对任意一颗具有n个结点的树进行隔三遍历。隔三遍历是指遍历得到的序列满足序列中任意两个相邻点在树上的距离小于或等于3。2.有5支球队,己知比赛的成绩总积分,进球数与失球数,并且假设一支球队一场比赛最多进5个球,求一种町能的比分方案。3.利用递归算法求实数数组A[0:n-l】中的最小值。4.任意输入5个数,在每相邻的两个数之间填上加、减、乘、除四个运算符中的一个,使得表达式的值为一个指定值。
3、三、实验代码1.第一题#includettincludetemplateclassnode{public:Tdata;node*lch订d,*rch订d;node();node(constT&val,node*childl=NULL,node*childr=NULL){data=val;lchild=childl;rchild=childr;}node*copytree()node*nl,*nr,*nn;if(&data==NULL)returnNULL;nl=lchild->c
4、opytree();nr=rchild->copytree();nn=newnode(data,nl,nr);rcturnrm;}};tcmplatcnode::node(){lch订d=rchild=NULL;}templateclassBinarytrec{public:nodc*root;Binarytree();"Binarytree();voidPreorder();voidFolordcr();voidDcstroytrccO;node*makctree(constT&clcmcnt,nodc〈T>*
5、1,nodc〈T>*r){root=newnode(element,1,r);if(root==NULL){cout<<,zfail/n";exit(1);}returnroot;}privatc:voiddestroy(nodc〈T>*&r);voidpreorder(node*r);voidfolordcr(node*r);};templateDinarytree::Binarytree(){root=NULL;1Jtemplatc〈classT>Binarytrec::^Binarytrec(){Dcstroytrc
6、cO;}templatevoidBinarytree::Preorder(){preorder(root);ijtemplatevoidBinarytrcc::Folordcr(){folordcr(root);}templatevoidBinarytree::Destroytrcc(){destroy(root);ijtemplatc〈classT>voidBinarytrcc::preorder(node*r){if(r!=NULL)cout<data<<"';folordcr(
7、r->lchild);folorder(r->rchiId);}}tcmplatcvoidBinarytree::folordcr(nodc*r){if(r!=NULL){preorder(r->lchiId);preorder(r->rchiId);cout<data〈〈'';}}templatc〈classT>voidBinarytrcc::dcstroy(nodc〈T>*&r){if(r!=NULL){destroy(r->lchild);destroy(r->rchiId);deleter;r=NUL
此文档下载收益归作者所有