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);
            }
        }
    }
  • 相关阅读:
    浅谈“踹”字典树
    2019.11.9 csp-s 考前模拟
    Luogu P1600[NOIP2016]day1 T2天天爱跑步
    Luogu P1197 [JSOI2008]星球大战
    Trie树(字典树)整理
    洛谷P3294 [SCOI2016]背单词——题解
    浅析差分及其推广(树上差分与广义差分)
    洛谷P1600 天天爱跑步——题解
    深入理解容斥原理
    花式求LCA
  • 原文地址:https://www.cnblogs.com/pengjunwei/p/3746709.html
Copyright © 2011-2022 走看看