public object visit(EmptyNode emptyNode)
        {
            NonEmptyNode newNode = (NonEmptyNode)BSTBuilder.getNodeFactory().createNonEmptyNode(newKey);

            newNode.setLeft(EmptyNode.getInstance());
            newNode.setRight(EmptyNode.getInstance());
            return(newNode);
        }
Example #2
0
 public BSTree(int[] a, bool isBalancedTree)
 {
     a = a.Distinct().ToArray();
     if (isBalancedTree)
     {
         Array.Sort(a);
         root = BSTBuilder.sortedArrayToBST(a, 0, a.Length - 1);
     }
     else
     {
         root = new NonEmptyNode(a[0]);
         root.setLeft(EmptyNode.getInstance());
         root.setRight(EmptyNode.getInstance());
         for (int i = 1; i < a.Length; i++)
         {
             insert(a[i]);
         }
     }
 }
Example #3
0
 public void setNodeFactory(NodeFactory factory)
 {
     BSTBuilder.setNodeFactory(factory);
 }
Example #4
0
 public void buildFromArray(int[] a)
 {
     Array.Sort(a);
     root = BSTBuilder.sortedArrayToBST(a, 0, a.Length - 1);
 }