简单实现二叉树

Node.java文件

package com.wxw.tree.test;

public class Node {
    public Node left;
    public Node right;
    public int data;
   
    public Node(int data){
        this.data = data;
    }
   
    public Node(){
       
    }
   
}

Tree.java

package com.wxw.tree.test;

public class Tree {

    Node root;
   
    public Tree(){
        root = new Node(3);
    }

   
    public void add(int data){
        add(root,data);
    }
    public Node add(Node node,int data){
        if(node == null){
            node = new Node(data);
        }else{
            if(node.data <= data){
                node.left = add(node.left,data);
            }else{
                node.right = add(node.right,data);
            }
        }
        return node;
    }
   
    public void list(){
        list(root);
    }
   
    public void list(Node node){
        if(node == null){
            return;
        }
        System.out.println(node.data);
        list(node.right);
        list(node.left);
    }
   
    public static void main(String[] args) {
        Tree tree = new Tree();
        tree.add(1);
        tree.add(2);
        tree.add(4);
        tree.add(5);
        tree.add(6);
        tree.list();
    }
}

结果:

image

实现二叉树最简单的插入方法和显示方法,主要还是加深对递归算法的了解和实践,实践最重要。

原文地址:https://www.cnblogs.com/wxwall/p/3187889.html