class BinNode
{
// 节点类
public BinNode lchild;
public BinNode rchild;
public int data;
public BinNode(int data){
this.data = data;
this.lchild = null;
this.rchild = null;
}
public BinNode getLChild() {
return lchild;
}
public void setLChild(BinNode lchild) {
this.lchild = lchild;
}
public BinNode getRChild() {
return rchild;
}
public void setRChild(BinNode rchild) {
this.rchild = rchild;
}
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
}
class BinTree{
public BinNode root; //根节点
public static int indext;
//先序遍历
public void preOrder(BinNode root){
if(root == null){
return;
}
System.out.println(root.getData());
this.preOrder(root.getLChild());
this.preOrder(root.getRChild());
}
//中序遍历
public void inOrder(BinNode root){
if(root == null){
return ;
}
this.inOrder(root.getLChild());
System.out.println(root.getData());
this.inOrder(root.getRChild());
}
//后序遍历
public void postOrder(BinNode root){
if(root == null){
return;
}
this.postOrder(root.getLChild());
this.postOrder(root.getRChild());
System.out.println(root.getData());
}
//获得高度
public int getHeight(BinNode root){
if(root == null){
return 0;
}
return Math.max(getHeight(root.getLChild()), getHeight(root.getRChild()))+1;
}
//获取叶子数
public int getLeaves(BinNode root){
if(root == null){
return 0;
}
else if(root.getLChild()==null&&root.getRChild()==null){
return 1;
}
return getLeaves(root.getLChild())+getLeaves(root.getRChild());
}
}
[.5]——数据结构——数——二叉树[java]
最新推荐文章于 2024-05-02 17:25:16 发布