zoukankan      html  css  js  c++  java
  • JAVA向,二叉查找树

    满足二叉查找树的存储规则。

    类似折半查找:

    import javax.management.remote.rmi._RMIConnectionImpl_Tie;
    
    /**
     * Created by John on 14-5-22.
     */
    public class IntTree {
        private static class IntTreeNode
        {
            private int data;
            private IntTreeNode leftLink;
            private IntTreeNode rightLink;
    
            public IntTreeNode(int newData,IntTreeNode newLeftLink,IntTreeNode newRightLink)
            {
                data =newData;
                leftLink=newLeftLink;
                rightLink=newRightLink;
            }
        }
        private IntTreeNode root;
        public IntTree()
        {
            root=null;
        }
        public void add(int item)
        {
            root=insertInSubtree(item,root);
        }
        public boolean contains(int item)
        {
            return isInSubtree(item,root);
        }
        public void showElements()
        {
            showElementsInSubtree(root);
        }
        private static boolean isInSubtree(int item,IntTreeNode subTreeRoot)
        {
            if(subTreeRoot==null)
                return new IntTreeNode(item,null,null);
            else if(item <subTreeRoot.data)
            {
                subTreeRoot.leftLink=insertInSubtree(item, subTreeRoot.leftLink);
                return subTreeRoot;
            }
            else
            {
                subTreeRoot.rightLink=insertInSubtree(item,subTreeRoot.rightLink);
                return subTreeRoot;
            }
        } 
        private static boolean isInSubtree(int item,IntTreeNode subTreeRoot)
        {
            if(subTreeRoot==null)
                return false;
            else if(subTreeRoot.data==item)
                return true;
            else if(item<subTreeRoot.data)
                return isInSubtree(item,subTreeRoot.leftLink);
            else
                return isInSubtree(item,subTreeRoot.rightLink);
        }
        private static void showElementsInSubtree(IntTreeNode subTreeRoot)
        {
            if(subTreeRoot!=null)
            {
                showElementsInSubtree(subTreeRoot.leftLink);
                System.out.print(subTreeRoot.data+" ");
                showElementsInSubtree(subTreeRoot.rightLink);
            }
        }
    }
  • 相关阅读:
    海量数据处理:十道面试题与十个海量数据处理方法总结
    C++中的static及内存分配
    面试时如何向面试官提问
    面试题3:斐波那契数列与爬楼梯
    面试题1:二进制中1的个数
    面试题:单链表的几种处理
    js网页下载csv格式的表格
    解决背景图文字盖住html里面的dom元素
    使用element-ui的常见问题
    Promise-async-await处理函数
  • 原文地址:https://www.cnblogs.com/pengjunwei/p/3746709.html
Copyright © 2011-2022 走看看