First understanding of binary tree and implementation of binary tree

The data structure is to forget after learning, and to learn again after forgetting, and record the implementation of the simplest binary tree, and its pre-middle and post-order traversal. Offer code, welcome to enrich.

class MyTreeNode{
    private char data;
    private MyTreeNode leftNode;
    private MyTreeNode rightNode;
    
    public MyTreeNode(char data, MyTreeNode leftNode, MyTreeNode rightNode) {
        this.data = data;
        this.leftNode = leftNode;
        this.rightNode = rightNode;
    }

    public char getData() {
        return data;
    }

    public void setData(char data) {
        this.data = data;
    }

    public MyTreeNode getLeftNode() {
        return leftNode;
    }

    public void setLeftNode(MyTreeNode leftNode) {
        this.leftNode = leftNode;
    }

    public MyTreeNode getRightNode() {
        return rightNode;
    }

    public void setRightNode(MyTreeNode rightNode) {
        this.rightNode = rightNode;
    }
    
    
    
}
public class BinaryTree {

    public void print(MyTreeNode node){
        System.out.print(node.getData());
    }
    /**
     * 
     * @Title: pre   
     * @Description: 前序遍历  根 左 右
     * @param: @param root      
     * @return: void      
     * @throws
     */
    public void pre(MyTreeNode root){
        print(root);
        if(root.getLeftNode()!=null){
            pre(root.getLeftNode());
        }
        if(root.getRightNode()!=null){
            pre(root.getRightNode());
        }
    }
    
    /**
     * 
     * @Title: in   
     * @Description: Middle Order Left Root Right
     * @param: @param root      
     * @return: void      
     * @throws
     */
    public void in(MyTreeNode root){         if(root.getLeftNode()!=null){             in(root .getLeftNode());         }         print(root);         if(root.getRightNode()!=null){             in(root.getRightNode());         }     }     /**      *       * @Title: post         * @Description: middle order Left Right Root      * @param: @param root            * @return: void            * @throws      */     public void post(MyTreeNode root){
        








    









        
        if(root.getLeftNode()!=null){
            post(root.getLeftNode());
        }
        
        if(root.getRightNode()!=null){
            post(root.getRightNode());
        }
        print(root);
    }
    
    public static void main(String[] args) {
        
        MyTreeNode E = new MyTreeNode('E',null,null);
        MyTreeNode F = new MyTreeNode('F',null,null);
        MyTreeNode G = new MyTreeNode('G',null,null);
        MyTreeNode H = new MyTreeNode('H',null,null);
        MyTreeNode B = new MyTreeNode('B',E,F);
        MyTreeNode C = new MyTreeNode('C',G,H);
        MyTreeNode A = new MyTreeNode('A',B,C);
        
        
        BinaryTree tree=new BinaryTree();
        System.out.println("前序");
        tree.pre(A);
        System.out.println();
        System.out.println("中序");
        tree.in(A);
        System.out.println();
        System.out.println("后序");
        tree.post(A);
    }

Guess you like

Origin blog.csdn.net/yijiemuhuashi/article/details/121411395