public void BuildMinimalHeightTreeFromSortedArray_Length1_Test() { int[] values = { 1 }; var node = BinarySearchTreeService.BuildMinimalHeightTreeFromSortedArray(values); Assert.AreEqual(1, node.Value); }
public void BuildMinimalHeightTreeFromSortedArray_Null_Test() { int[] values = null; var node = BinarySearchTreeService.BuildMinimalHeightTreeFromSortedArray(values); Assert.Null(node); }
public void BuildMinimalHeightTreeFromSortedArray_Length8_Test() { var values = new[] { 1, 2, 3, 4, 5, 6, 7, 8 }; var node = BinarySearchTreeService.BuildMinimalHeightTreeFromSortedArray(values); Assert.AreEqual(4, node.Value); Assert.AreEqual(2, node.Left.Value); Assert.AreEqual(1, node.Left.Left.Value); Assert.AreEqual(3, node.Left.Right.Value); Assert.AreEqual(6, node.Right.Value); Assert.AreEqual(5, node.Right.Left.Value); Assert.AreEqual(7, node.Right.Right.Value); Assert.AreEqual(8, node.Right.Right.Right.Value); }
public void GetNodesByLevel_Test() { var tree = BinarySearchTreeService.BuildMinimalHeightTreeFromSortedArray(new[] { 1, 2, 3, 4, 5, 6, 7, 8 }); var result = BinarySearchTreeService.GetNodeListsByLevel(tree); var expected = new Dictionary <int, LinkedList <int> >() { { 0, new LinkedList <int>(new[] { 4 }) }, { 1, new LinkedList <int>(new[] { 2, 6 }) }, { 2, new LinkedList <int>(new[] { 1, 3, 5, 7 }) }, { 3, new LinkedList <int>(new[] { 8 }) } }; Assert.AreEqual(expected, result); }