欢迎来到天天文库
浏览记录
ID:50396331
大小:34.00 KB
页数:2页
时间:2020-03-05
《数据结构实验报告-树的遍历.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、江西理工大学数据结构实验报告实验名称树的遍历日期2014-11-17专业班级计算机(中加)131班地点信息学院621实验人王鹏伟学号1520133713同组人单独完成一、实验目的1、按照老师要求实现树的前序、中序、后序遍历;2、学会树前序、中序、后序遍历的规则。二、实验要求1、任意给定一棵树;2、运用算法输出该树的前序、中序、后序遍历结果。三、实验内容1、利用书本18.3recursionandtrees以及18.4treetraversal:iteratorclasses的知识解决遍历问题,并输出结果。四、实验过程和结果部分实验代码:
2、//定义树classTree{classNode{publiclongvalue;publicNodeleftChild;publicNoderightChild;publicNode(longvalue){this.value=value;leftChild=null;rightChild=null;}}//向树中插入一个节点publicvoidinsert(longvalue){NodenewNode=newNode(value);//树是空的if(root==null)root=newNode;else{Nodecurrent=r
3、oot;NodeparentNode;while(true){parentNode=current;if(value4、}}}}}//先续遍历树中的所有节点publicvoidpreOrder(NodecurrentRoot){if(currentRoot!=null){System.out.print(currentRoot.value+"");preOrder(currentRoot.leftChild);preOrder(currentRoot.rightChild);}}//中续遍历树中的所有节点publicvoidinOrder(NodecurrentNode){if(currentNode!=null){inOrder(currentNode5、.leftChild);System.out.print(currentNode.value+"");inOrder(currentNode.rightChild);}}//后续遍历树中的所有节点publicvoidpostOrder(NodecurrentNode){if(currentNode!=null){postOrder(currentNode.leftChild);postOrder(currentNode.rightChild);System.out.print(currentNode.value+"");}}过程细节请调6、试源代码!实验结果:五、实验总结通过对树的遍历的处理,我初步认识了什么是树的前序、中序和后序遍历,知道了如何用java实现遍历算法。前序就是要DLR(先根再是左孩子,右孩子),中序是LDR(先是左孩子,根,然后才是右孩子),后序是LRD(先是左孩子,右孩子,最后才是根)。所以才有了他们java代码中的不同。遍历树也是不断的递归调用。虽然这个程序不是我自己写的,它是我从百度是搜索的,但是,通过我一点一点的看代码,分析代码,运行代码,我也算是搞懂了其中的思想。正如老师所说,当你不会的时候,就将在网上down下来的代码好好的多看几遍,不懂得地7、方据多问问,这也是一种学习方法。
4、}}}}}//先续遍历树中的所有节点publicvoidpreOrder(NodecurrentRoot){if(currentRoot!=null){System.out.print(currentRoot.value+"");preOrder(currentRoot.leftChild);preOrder(currentRoot.rightChild);}}//中续遍历树中的所有节点publicvoidinOrder(NodecurrentNode){if(currentNode!=null){inOrder(currentNode
5、.leftChild);System.out.print(currentNode.value+"");inOrder(currentNode.rightChild);}}//后续遍历树中的所有节点publicvoidpostOrder(NodecurrentNode){if(currentNode!=null){postOrder(currentNode.leftChild);postOrder(currentNode.rightChild);System.out.print(currentNode.value+"");}}过程细节请调
6、试源代码!实验结果:五、实验总结通过对树的遍历的处理,我初步认识了什么是树的前序、中序和后序遍历,知道了如何用java实现遍历算法。前序就是要DLR(先根再是左孩子,右孩子),中序是LDR(先是左孩子,根,然后才是右孩子),后序是LRD(先是左孩子,右孩子,最后才是根)。所以才有了他们java代码中的不同。遍历树也是不断的递归调用。虽然这个程序不是我自己写的,它是我从百度是搜索的,但是,通过我一点一点的看代码,分析代码,运行代码,我也算是搞懂了其中的思想。正如老师所说,当你不会的时候,就将在网上down下来的代码好好的多看几遍,不懂得地
7、方据多问问,这也是一种学习方法。
此文档下载收益归作者所有