static void Main(string[] args) { BinarySearchTree<double> tree = new BinarySearchTree<double>(5.5); tree.AddChild(10.3); tree.AddChild(4.7); tree.AddChild(20.4); tree.AddChild(141.6); Console.WriteLine(tree); // Console.WriteLine(tree.Find(5.5)); tree.RemoveChild(141.6); Console.WriteLine(tree); }
static void Main(string[] args) { BinarySearchTree <double> tree = new BinarySearchTree <double>(5.5); tree.AddChild(10.3); tree.AddChild(4.7); tree.AddChild(20.4); tree.AddChild(141.6); Console.WriteLine(tree); // Console.WriteLine(tree.Find(5.5)); tree.RemoveChild(141.6); Console.WriteLine(tree); }
public void RemoveTest() { BinarySearchTree <int> bst = new BinarySearchTree <int>(); Assert.AreEqual(0, bst.Count); bst.AddChild(1337); Assert.AreEqual(1, bst.Count); bst.Remove(1337); Assert.AreEqual(0, bst.Count); bst.AddChild(5); bst.AddChild(3); bst.AddChild(2); bst.AddChild(6); bst.AddChild(1); bst.AddChild(4); Assert.AreEqual(2, bst.FindParent(1).Value); bst.Remove(2); Assert.AreEqual(3, bst.FindParent(1).Value); bst.Remove(4); Assert.AreEqual(null, bst.Find(3).Right); bst.Remove(5); Assert.AreEqual(6, bst.FindParent(3).Value); Assert.IsFalse(bst.Remove(100)); }
public void OutOrderTraversalTest() { BinarySearchTree <int> bst = new BinarySearchTree <int>(); bst.AddChild(5); bst.AddChild(3); bst.AddChild(2); bst.AddChild(6); bst.AddChild(1); bst.AddChild(4); string outOrder = String.Join(',', DFS.OutOrder(bst.root)); Assert.AreEqual("6,5,4,3,2,1", outOrder); }
public void InOrderTraversalTest() { BinarySearchTree <int> bst = new BinarySearchTree <int>(); bst.AddChild(5); bst.AddChild(3); bst.AddChild(2); bst.AddChild(6); bst.AddChild(1); bst.AddChild(4); string inOrder = String.Join(',', DFS.InOrder(bst.root)); Assert.AreEqual("1,2,3,4,5,6", inOrder); }
public void PreOrderTraversalTest() { BinarySearchTree <int> bst = new BinarySearchTree <int>(); bst.AddChild(5); bst.AddChild(3); bst.AddChild(2); bst.AddChild(6); bst.AddChild(1); bst.AddChild(4); string preOrder = String.Join(',', DFS.PreOrder(bst.root)); Assert.AreEqual("5,3,2,1,4,6", preOrder); }
public void FindMinTest() { BinarySearchTree <int> bst = new BinarySearchTree <int>(); bst.AddChild(5); bst.AddChild(3); bst.AddChild(2); bst.AddChild(6); bst.AddChild(1); bst.AddChild(4); Assert.AreEqual(1, bst.FindMin().Value); bst.Remove(1); Assert.AreEqual(2, bst.FindMin().Value); }
public void FindTest() { BinarySearchTree <int> bst = new BinarySearchTree <int>(); bst.AddChild(5); bst.AddChild(3); bst.AddChild(2); bst.AddChild(6); bst.AddChild(1); bst.AddChild(4); BinaryTreeNode <int> Node; Node = bst.Find(4); Assert.AreEqual(4, Node.Value); Node = bst.Find(23); Assert.AreEqual(null, Node); }
public void FindParentTest() { BinarySearchTree <int> bst = new BinarySearchTree <int>(); Assert.AreEqual(0, bst.Count); bst.AddChild(5); bst.AddChild(3); bst.AddChild(2); bst.AddChild(6); bst.AddChild(1); bst.AddChild(4); Assert.AreEqual(2, bst.FindParent(1).Value); Assert.AreEqual(3, bst.FindParent(4).Value); Assert.AreEqual(5, bst.FindParent(3).Value); Assert.AreEqual(5, bst.FindParent(6).Value); Assert.AreEqual(null, bst.FindParent(5)); }
public void AddTest() { BinarySearchTree <int> bst = new BinarySearchTree <int>(); Assert.AreEqual(0, bst.Count); bst.AddChild(5); bst.AddChild(3); bst.AddChild(2); bst.AddChild(6); bst.AddChild(1); bst.AddChild(4); Assert.AreEqual(true, bst.Contains(6)); Assert.AreEqual(true, bst.Contains(3)); Assert.AreEqual(false, bst.Contains(23)); Assert.AreEqual(6, bst.Count); }
public void IsValid() { BinarySearchTree <int> bst = new BinarySearchTree <int>(); bst.AddChild(5); bst.AddChild(3); bst.AddChild(2); bst.AddChild(6); bst.AddChild(1); bst.AddChild(4); Assert.AreEqual(true, ValidateBST.IsValid(bst)); var newNode = new BinaryTreeNode <int>(-2); newNode.Left = bst.root.Left; newNode.Right = bst.root.Right; bst.root = newNode; Assert.AreEqual(false, ValidateBST.IsValid(bst)); }
public void BinarySearchTest() { /* * 5 * / \ * 3 6 * / \ * 2 4 * / * 1 */ BinarySearchTree <int> bst = new BinarySearchTree <int>(); bst.AddChild(5); bst.AddChild(3); bst.AddChild(2); bst.AddChild(6); bst.AddChild(1); bst.AddChild(4); Assert.AreEqual(4, DFS.FindBinaryTreeNode(bst.root, 4).Value); Assert.AreEqual(null, DFS.FindBinaryTreeNode(bst.root, 24)); }