java实现树的创建和三种遍历方式
public class test<T> {
private Node<T> root;
public class Node<T>{
private T vlaue;
private Node<T> parent;
private Node<T> leftChildren;
private Node<T> rightChildren;
public Node(T t,Node<T> parent,Node<T> leftChildren,Node<T> right){
this.vlaue=t;
this.parent=parent;
this.leftChildren=leftChildren;
this.rightChildren=right;
}
}
/**
*
* 方法描述:前序遍历,采用递归方式进行遍历
* @param node
* @author 钟良健
*/
public void preorderTraversal(Node<T> node){
if(node!=null){
System.out.println(node.vlaue);
preorderTraversal(node.leftChildren);
preorderTraversal(node.rightChildren);
}
}
/**
*
* 方法描述: 中序遍历
* @param node
* @author 钟良健
*/
public void inorderTraversal(Node<T> node){
if(node!=null){
inorderTraversal(node.leftChildren);
System.out.println(node.vlaue);
inorderTraversal(node.rightChildren);
}
}
/**
*
* 方法描述: 后序遍历
* @param node
* @author 钟良健
*/
public void postorderTraversal(Node<T> node){
if(node!=null){
inorderTraversal(node.leftChildren);
inorderTraversal(node.rightChildren);
System.out.println(node.vlaue);
}
}
}