zoukankan      html  css  js  c++  java
  • 二叉搜索树的实现 java

    package hello;
    public class BinaryTree {
        private Node root;
    
        public BinaryTree() {
            this.root = null;
        }
    
        public void insert(int data) {
            root=insert(root, data);
        }
        private Node insert(Node node, int data) {
            if (node == null) {
                node = new Node(data);
            }else{ 
                if(data <= node.data) {
                    node.left = insert(node.left, data);
                } else {
                    node.right = insert(node.right, data);
                }
            }
            return node;
        }
    
        public void buildTree(int[] data) {
            for (int i = 0; i < data.length; i++) {
                insert(data[i]);
            }
        }
        
        public void print(){
            printNode(root);
            System.out.println();
        }
        
        private void printNode(Node node){
            if(node==null)
                return;
            printNode(node.left);
            System.out.print(node.data+"*****");
            printNode(node.right);
        }
        public static void main(String[] args) {
            int[] data = { 8, 1, 7, 8, 5, 6, 4, 8, 9, 3, 0, 2 };
            BinaryTree tree=new BinaryTree();
            tree.buildTree(data);
            tree.print();
        }
    }
    class Node {
        Node left;
        Node right;
        int data;
    
        public Node(int data) {
            this.left=null;
            this.right=null;
            this.data = data;
        }
    }

    二叉排序树的定义 :
        二叉排序树(Binary Sort Tree)又称二叉查找(搜索)树(Binary Search Tree)。其定义为:二叉排序树或者是空树,或者是满足如下性质的二叉树:
    ①若它的左子树非空,则左子树上所有结点的值均小于根结点的值;
    ②若它的右子树非空,则右子树上所有结点的值均大于根结点的值;
    ③左、右子树本身又各是一棵二叉排序树。
      上述性质简称二叉排序树性质(BST性质),故二叉排序树实际上是满足BST性质的二叉树。

  • 相关阅读:
    项目人力资源管理
    以太网交换机
    邮件协议简单学习
    信息系统开发方法
    项目成本管理
    oracle学习笔记002---oracle的体系结构
    007 项目进度管理
    乘法逆元
    RMQ __ST
    中国剩余定理(CRT)
  • 原文地址:https://www.cnblogs.com/yunger/p/7505496.html
Copyright © 2011-2022 走看看