信息与管理科学学院计算机科学系实验报告课程名称:班级:姓名:学号:指导老师:《数据结构与算法》上机实验内容规范一、实验目的上机实验是数据结构课程教学不可或缺的重要环节。上机实验是通过编写解决简单问题的程序,达到如下课程实验目的:(1)使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法。(2)使学生深入理解面向对象的概念和程序设计方法,掌握抽象数据类型和类的关系。(3)使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。(4)能够运用所学原理和方法解决实际问题,设计相应数据结构以及解决实际问题的算法,运用高级语言实现性能优、效率高、可读性强、易维护的程序,并提高探索研究问题的能力。二、实验环境1人/1机,windows7及以上操作系统,VC++6.0以上版本(JDK1.6以上版本,Eclipse4.3以上版本)三、实验内容为达到严格训练的目的,要求上机实验完成后书写上机实验报告。上机实验报告应包括如下8部分内容。问题描述:描述要求编程解决的问题。基本要求:给出程序要达到的具体要求。测试数据:设计测试数据,要求测试数据能基本达到测试目的。算法思想:描述解决相应问题的算法思想。类划分:分析问题所需的类,并给出类的逻辑功能描述。源程序:给出所有源程序清单,要求程序有充分的注释语句。测试情况:给出程序的测试情况以及必要的说明。心得体会:实验过程结束后的收获。在以上8个部分中,问题描述和基本要求部分通常由教师作为上机实验题目给出;有时测试数据部分也由教师给出,若教师没有给出此部分,则要求学生自己设计测试数据;其余算法思想、类划分、源程序和测试情况部分是学生上机实验的主体部分;心得体会是学生思考扩展的体现部分。Node节点类1.packagetree;2.3./**4.*@authorwyt5.*@create2021-12-1410:326.*/7.publicclassNode{8.privateTdata;9.publicNodelChild;10.publicNoderChild;11.publicNode()12.{13.data=null;14.lChild=null;15.rChild=null;16.}17.publicNode(Telem)18.{19.data=elem;20.lChild=null;21.rChild=null;22.}23.publicTgetData()24.{25.returndata;26.}27.publicvoidsetData(Ty)28.{29.data=y;30.}31.}BinaryTree类1.packagetree;2.3./**4.*@authorwyt5.*@create2021-12-1410:336.*/7.publicclassBinaryTree{8.9.publicNoderoot;10.privatefinalintmaxNodes=100;11.publicBinaryTree()12.{13.this.root=newNode();14.}15.publicBinaryTree(Tx)16.{17.this.root=newNode(x);18.}19.publicbooleaninsertLeft(Tx,Nodeparent)20.{21.if(parent==null)returnfalse;22.Nodep=newNode(x);23.if(parent.lChild==null)parent.lChild=p;24.else25.{26.p.lChild=parent.lChild;27.parent.lChild=p;28.}29.returntrue;30.}31.publicbooleaninsertRight(Tx,Nodeparent)32.{33.if(parent==null)returnfalse;34.Nodep=newNode(x);35.if(parent.rChild==null)parent.rChild=p;36.else37.{38.p.rChild=parent.rChild;39.parent.rChild=p;40.}41.returntrue;42.}43.44.publicbooleandeleteLeft(Nodeparent)45.{46.if(parent==null)returnfalse;47.else48.{49.parent.lChild=null;50.returntrue;51.}52.}53.publicbooleandeleteRight(Nodeparent)54.{55.if(parent==null)returnfalse;56.else57.{58.parent.rChild=null;59.returntrue;60.}61.}62.63.publicvoidyezi(Nodenode)64.{65.if(node==null)return;66.else67.{68.if(node.lChild==null&&node.rChild==null){69.System.out.print("\n叶子节点:"+node.getData());70.}71.else{72.yezi(node.lChild);73.yezi(node.rChild);74.}75.}76.}77.78.publicintcount(Nodenode)79.{80.intlc,rc,sum;81.if(node!=null)82.{83.lc=count(node.lChild);84.rc=count(node.rChild);85.sum=lc+rc;86.return(sum+1);87.}88.elsereturn0;89.90.}91.92.publicNodesearch(Nodenode,Tx){93.if(node==null)94.returnnull;95.else{96.if((node.getData()).equals(x)){...