/**
* 二叉树节点
*/
public class Node {
//数据项
public long data;
//左子节点
public Node leftChild;
//右子节点
public Node rightChild;
//构造方法
public Node(long data){
this.data = data;
}
}
1、前序遍历
/**
* 前序遍历
* @param localNode
*/
public void frontOrder(Node localNode){
if(localNode != null){
//访问根节点
System.out.println(localNode.data);
//前序遍历左子树
frontOrder(localNode.leftChild);
//前序遍历右子树
frontOrder(localNode.rightChild);
}
}
2、中序遍历
/**
* 中序遍历
* @param localNode
*/
public void midOrder(Node localNode){
if(localNode != null){
//中序遍历左子树
midOrder(localNode.leftChild);
//访问根节点
System.out.println(localNode.data);
//中序遍历右子树
midOrder(localNode.rightChild);
}
}
3、后序遍历
/**
* 后序遍历
* @param localNode
*/
public void afterOrder(Node localNode){
if(localNode != null){
//后序遍历左子树
afterOrder(localNode.leftChild);
//后序遍历右子树
afterOrder(localNode.rightChild);
//访问根节点
System.out.println(localNode.data);
}
}