信管实验报告(树与二叉树的基本操作).doc

信管实验报告(树与二叉树的基本操作).doc

ID:59378389

大小:184.50 KB

页数:17页

时间:2020-01-26

信管实验报告(树与二叉树的基本操作).doc_第1页
信管实验报告(树与二叉树的基本操作).doc_第2页
信管实验报告(树与二叉树的基本操作).doc_第3页
信管实验报告(树与二叉树的基本操作).doc_第4页
信管实验报告(树与二叉树的基本操作).doc_第5页
资源描述:

《信管实验报告(树与二叉树的基本操作).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.管理学院信管专业12(1)班学号3112004734姓名协作者:无教师评定_________________实验题目树与二叉树的基本操作实验评分表指导教师评分标准序号评分项目评分标准满分打分1完成度按要求独立完成实验准备、程序调试、实验报告撰写。202实验内容(1)完成功能需求分析、存储结构设计;(2)程序功能完善、可正常运行;(3)测试数据正确,分析正确,结论正确。303实验报告内容齐全,符合要求,文理通顺,排版美观。404总结对实验过程遇到的问题能初步独立分析,解决后能总结问题原因及解决方法,有

2、心得体会。10下述代码尽管输入eclipse或者JC验证,绝无弄虚作假..实验报告一、实验目的与要求1.本实验通过对线性表各种操作的算法设计,理解和掌握线性表的概念、存储结构及操作要求,体会顺序和链式两种存储结构的特点;2.根据操作的不同要求,选择合适的存储结构,设计并实现算法,对算法进行时间复杂度分析,从而达到掌握数据结构的研究方法、算法设计和分析方法的目的。二、实验内容1.在一棵二叉链表表示的二叉树中,实现以下操作,并说明采用哪种遍历算法,其他遍历算法是否可行。(1)输出叶子结点//求二叉树叶子结

3、点个数的递归算法(2)publicclassleaf{//输出叶子结点(3)publicstaticvoidleaf(BinaryTreebitree){(4)leaf(bitree.root);(5)}(6)publicstaticvoidleaf(BinaryNodep){(7)if(p!=null){(8)if(p.left==null&&p.right==null){(9)System.out.println(p.data+"");(10)}(11)leaf(p.lef

4、t);(12)leaf(p.right);(13)(14)}(15)}(16)publicstaticvoidmain(Stringargs[]){(17)Stringprelist[]={"A","B","D",null,"G",null,null,null,"C","E",null,null,"F","G"};//..先根遍历序列(1)BinaryTreebitree=newBinaryTree(prelist);//以先根遍历序列构造的一棵二叉树(2)bitree

5、.preOrder();//先根次序遍历的递归算法(3)leaf(bitree);(4)(5)Stringprelist2[]={"A","B",null,null,"C"};//先根遍历序列(6)BinaryTreebitree2=newBinaryTree(prelist2);//以先根遍历序列构造的一棵二叉树(7)bitree2.preOrder();//先根次序遍历的递归算法(8)leaf(bitree2);(9)(10)}(11)}运算结果:(2)求二叉树中叶

6、子节点的个数//求二叉树中叶子结点的个数的递归算法publicclassgetLeaves{publicstaticintgetLeaves(BinaryTreebitree){returngetLeaves(bitree.root);}publicstaticintgetLeaves(BinaryNodep){inti=0;if(p!=null){if(p.left==null&&p.right==null){i++;}getLeaves(p.left);getLeaves(

7、p.right);}System.out.println(i);return0;}publicstaticvoidmain(Stringargs[]){..Stringprelist[]={"A","B","D",null,"G",null,null,null,"C","E",null,null,"F","E"};BinaryTreebitree=newBinaryTree(prelist);bitree.preOrder();getLeaves(bitree);Str

8、ingprelist2[]={"A","B",null,null,"C"};BinaryTreebitree2=newBinaryTree(prelist2);bitree2.preOrder();getLeaves(bitree2);}}运算结果:(3)将每个结点的左子树和右子树交换//将二叉树的每个结点的左右子树交换的递归算法//交换二叉树的左右子树的递归算法的实现publicclassBitree_revolute{

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。