欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据结构与算法--二叉搜索树

程序员文章站 2024-03-16 15:34:22
...

二叉搜索树
如果左子树不为空,则左子树所有节点的值都小于根节点的值。
如果右子树不为空,则右子树所有节点的值都大于等于根节点的值。
任意一颗子树也是二叉搜索树

二叉搜索树的建立

// 二叉搜索树的建立
    public TreeNode insert(TreeNode root,int value){
        // 如果根节点为空,则元素为根节点
        if(root == null){
            return new TreeNode(value);
        }else if(value<root.val){  // 元素小于根节点值 插入左子树
                root.left=insert(root.left,value);
        }else{
            // 如果元素大于根节点值,插入右子树
            root.right=insert(root.right,value);
        }
        return root;

    }

测试代码:

 
    public static void main(String[] args) {
        int[] s = {9,2,5,8,2,10};
        // 9作为根节点 构造一个二叉搜索树
        TreeNode ss = new Test().new TreeNode(9);
        for (int i = 1; i < s.length; i++) {
            TreeNode insert = new Test().insert(ss,s[i]);
            ss=insert;
        }
        System.out.println(ss);
    }

相关标签: 数据结构与算法