java 构造简单的二叉树

二叉树的定义:
一个模拟具有树形结构的集合,由多个节点连接组成一个具有层次关系的集合;
以下是二叉树的一个案例:
在这里插入图片描述
由这些定义与图的分析,就能有以下几个点:

  1. 一个树有多个分支(也就是节点);
  2. 都会以某种关系进行连接(左节点始终比根节点小,右节点始终比根节点大);
  3. 有明显的层次关系;
  4. 有一个具有根节点,左节点,右节点的结构;
    在这里插入图片描述在这里插入图片描述
    所以先创建一个节点类(Node):
class  Node
{
    public Node left;//左节点
    public Node right;//右节点
    public int date;//插入的值
    public void addNode(Node n)
    {
        if(n.date<this.date)
        {
            if(this.left==null)
                this.left=n;
            else
                this.left.addNode(n);//递归,实现左,右,根节点的链接
        }
        else{
            if(right==null)
            {
                right=n;
            }
            else{
                right.addNode(n);
            }
        }
    }

    public void zhongxu()//中序遍历
    {
        if(left!=null) left.zhongxun();
        System.out.print(date);
        if(right!=null) right.zhongxun();
    }
}

接下来是树的构成:

public class Mytree {
    private Node root;//根节点
    public void add(int x)//插入数据
    {
        Node p=new Node();
        p.date=x;
        if(root==null)
        {
            root=p;
        }
        else {
            root.addNode(p);
        }
    }
    public void sort()//遍历
    {
        if(root==null){
            return;
        }
        else{
            root.zhongxu();
        }
    }
}

主函数:

public class test_no {
    public static void main(String[] args) {
        Mytree tree=new Mytree();
        tree.add(1);
        tree.add(2);
        tree.add(6);
        tree.add(4);
        tree.add(5);
        tree.add(9);
        tree.add(7);
        tree.add(1);
        tree.sort();
    }
}

在这里插入图片描述
这样就简单的完成了树的节点的插入。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值