Пример #1
0
        private void button3_Click(object sender, EventArgs e)
        {
            KarthicBinaryTree <int> tree = TreeHelper.SetUpBinaryTree();

            //In-Order Traversal
            //Traverse the binary tree in the follwing leftnode, current, right node
            StringBuilder sb = new StringBuilder();

            tree.InOrderTraversal(tree.Root, ref sb);

            this.textBox2.Text = sb.ToString();
            //Expected output: 4,2,5,1,6,3,7,
        }
Пример #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            KarthicBinaryTree <int> t1 = TreeHelper.SetUpBinaryTree();


            KarthicBinaryTree <int> t2 = TreeHelper.SetupBinarySubTree();

            t2.Root.Left.Right = new KarthicBTNode <int>(9);

            //Array solution with special character
            //Make In-order and pre-order travesal by inserting zero for null values and return string
            //Check whether s2 is a substring of s1
            //Key things: We have to do insert zero for null
            //we have to do both in-order and pre-order


            StringBuilder s1 = new StringBuilder();
            StringBuilder s2 = new StringBuilder();
            StringBuilder s3 = new StringBuilder();
            StringBuilder s4 = new StringBuilder();

            t1.InOrderTraversal(t1.Root, ref s1, true);
            t2.InOrderTraversal(t2.Root, ref s2, true);
            t1.PreOrderTraversal(t1.Root, true); //get in

            t2.PreOrderTraversal(t2.Root, true);
            string output = string.Empty;

            //t2 is substring for t1 via in order traversal
            if (t1.ToString().Contains(t2.ToString()) && (t1.sb.ToString().Contains(t2.sb.ToString())))
            {
                output = "T2 is a subtree of T1";
            }
            else
            {
                output = "T2 is not a subtree of T1";
            }
        }