Java实现前序遍历,中序遍历,后序遍历,层序遍历

更新时间:2023-06-30 14:22:22 阅读: 评论:0

Java实现前序遍历,中序遍历,后序遍历,层序遍历
1.遍历思想
前序遍历⾸先访问根节点,然后访问左⼦树,最后访问右⼦树。
中序遍历先访问左⼦树,然后访问根节点,最后访问右⼦树。
后续遍历先访问左⼦树,然后访问右⼦树,最后访问根节点。
层序遍历则是从上到下,从左到右的进⾏遍历。
遍历树结构如下所⽰:化淡妆的步骤
2.实际代码
1.⾸先建⽴节点类
public class Node {
private String data;
private Node leftNode;
private Node rightNode;
public Node(String data,Node leftNode,Node rightNode){
this.data = data;
黄龙玉原石this.leftNode = leftNode;
this.rightNode = rightNode;
}
public String getData(){
return this.data;
}
public Node getLeftNode(){
return this.leftNode;
}
public Node getRightNode(){
return this.rightNode;
}
}
2.实现前序遍历,中序遍历,后序遍历,层序遍历的遍历⼯具类,前序遍历,中序遍历,后序遍历实现⽅法采⽤递归⽅法。⽽层序遍历使⽤了队列容器对结点进⾏遍历。
import java.util.Queue;
好听的古风称号
import urrent.LinkedBlockingQueue;
public class TraverTool {
//前序遍历迎新年图片
public void preTraver(Node node){
System.out.Data());
LeftNode()!= null){
LeftNode());
}
RightNode()!= null){
RightNode());
}
}
//中序遍历
public void midTraver(Node node){
LeftNode()!= null){
LeftNode());
}
System.out.Data());
RightNode()!= null){
RightNode());
}什么水果化痰
虾怎么养}
/
/后续遍历
public void postTraver(Node node){
LeftNode()!= null){
LeftNode());
浩瀚拼音}
RightNode()!= null){
RightNode());
}
System.out.Data());
}
//层序遍历
public void qTraver(Node node){
Queue<Node> queue  =new LinkedBlockingQueue<>();        queue.add(node);
Node nextNode;
while(!queue.isEmpty()){
nextNode = ve();
LeftNode()!=null){
queue.LeftNode());
}
RightNode()!=null){
queue.RightNode());
}
System.out.Data());
}
}
}
3.实现测试类
public class testTraver {
public static void main(String args[]){
//需要从叶节点向上建⽴
Node G =new Node("G",null,null);
Node D =new Node("D",G,null);
Node E =new Node("E",null,null);
Node B =new Node("B",D,E);
Node F =new Node("F",null,null);
Node C =new Node("C",null,F);
Node A =new Node("A",B,C);
TraverTool traverTool =new TraverTool();        System.out.println("前序遍历:");
traverTool.preTraver(A);
System.out.println("\n中序遍历:");
traverTool.midTraver(A);
司空见惯的意思是什么System.out.println("\n后序遍历:");
traverTool.postTraver(A);
System.out.println("\n层序遍历:");
traverTool.qTraver(A);
}
}
输出结果:
前序遍历:
ABDGECF
中序遍历:
GDBEACF
后序遍历:
GDEBFCA
层序遍历:
ABCDEFG
后续可能会补充更加详细的遍历过程。

本文发布于:2023-06-30 14:22:22,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1070314.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:遍历   中序   前序
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图