예제 #1
0
        public static void LevelOrderTest()
        {
            var root = SortedArrayToBinarySearchTree.SortedArrayToBST(new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 });

            //LevelOrderTraversal.LevelOrderTraversalIterative1(root);
            Console.WriteLine();
            //LevelOrderTraversal.LevelOrderTraversalIterative3(root);
            LevelOrderTraversal.LevelOrderBottom(root);
        }
예제 #2
0
        public void LevelOrderTraversalTest()
        {
            var expectedOutput = "1234567";

            using (StringWriter sw = new StringWriter())
            {
                Console.SetOut(sw);

                BinaryTreeNode <int>      binaryTree = TestData.CreateBinaryTree();
                LevelOrderTraversal <int> lOT        = new LevelOrderTraversal <int>();
                lOT.LevelOrder(binaryTree);
                Assert.AreEqual <string>(expectedOutput, sw.ToString());
            }
        }
예제 #3
0
        public void TestLevelTraversal()
        {
            TreeNode <int>   root       = new TreeNode <int>(1);
            ITraversal <int> _traversal = new LevelOrderTraversal <int>();

            root.Left       = new TreeNode <int>(2);
            root.Right      = new TreeNode <int>(3);
            root.Left.Right = new TreeNode <int>(5);
            root.Left.Left  = new TreeNode <int>(4);
            IList <int> expectedOutput = new List <int>(new List <int> {
                1, 2, 3, 4, 5
            });

            var binarytree = new BinaryTree <int>(root, _traversal);
            var output     = binarytree.Traverse();

            CollectionAssert.Equals(expectedOutput, output);
        }
 public void ConnectSameLevelNodesByLevelOrderTraversal()
 {
     LevelOrderTraversal.ConnectSameLevelNodesUsingLevelOrderTraversal(bst.Root);
 }
 public void TestPrintLevelWiseNodesUsingQueue()
 {
     // O(n) operation
     LevelOrderTraversal.PrintLevelWiseNodesUsingQueue(bst.Root);
 }
 public void TestGetMaxWidthWithQueue()
 {
     Console.WriteLine(LevelOrderTraversal.GetMaxWidthWithQueue(bst.Root));
 }
 public void TestLevelOrderTraversalSimpleLineByLineWithRecursion()
 {
     LevelOrderTraversal.LevelOrderTraversalLineByLineWithRecursion(bst.Root);
 }
 public void TestLevelOrderTraversalSimpleLineByLineWithQueue()
 {
     LevelOrderTraversal.LevelOrderTraversalSimpleLineByLineWithQueue(bst.Root);
 }
 public void TestSimplelevelOrderTraversalSimpleWithQueue()
 {
     LevelOrderTraversal.LevelOrderTraversalSimpleVersionWithQueue(bst.Root);
 }
예제 #10
0
 public void LevelOrderTraversalTest()
 {
     TreeNode             root        = buildTreeTest();
     LevelOrderTraversal  lvTraversal = new LevelOrderTraversal();
     IList <IList <int> > levelList   = lvTraversal.LevelOrderBottom(root);
 }