public object visit(EmptyNode emptyNode) { NonEmptyNode newNode = (NonEmptyNode)BSTBuilder.getNodeFactory().createNonEmptyNode(newKey); newNode.setLeft(EmptyNode.getInstance()); newNode.setRight(EmptyNode.getInstance()); return(newNode); }
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]); } } }
public void setNodeFactory(NodeFactory factory) { BSTBuilder.setNodeFactory(factory); }
public void buildFromArray(int[] a) { Array.Sort(a); root = BSTBuilder.sortedArrayToBST(a, 0, a.Length - 1); }