package com.cs;
//定义节点
class Node{
int value;
Node leftTree;
Node rightTree;
public Node(int value){
this.value = value;
}
}
public class TraversalTwoForkTree {
public static void main(String[] args) {
Node root = new Node(8);
root.leftTree = new Node(2);
root.leftTree.leftTree = new Node(5);
root.leftTree.rightTree = new Node(9);
root.rightTree = new Node(3);
root.rightTree.rightTree = new Node(4);
PreOrder(root);
System.out.println();
InOrder(root);
System.out.println();
PostOrder(root);
}
//前序遍历
public static void PreOrder(Node root){
if(root == null){
return;
}
System.out.print(root.value + " ");
PreOrder(root.leftTree);
PreOrder(root.rightTree);
}
//中序遍历
public static void InOrder(Node root){
if(root == null){
return;
}
InOrder(root.leftTree);
System.out.print(root.value + " ");
InOrder(root.rightTree);
}
//后序遍历
public static void PostOrder(Node root){
if(root == null){
return;
}
PostOrder(root.leftTree);
PostOrder(root.rightTree);
System.out.print(root.value + " ");
}
}
二叉树的三种遍历方法(递归)
最新推荐文章于 2021-08-17 22:00:51 发布