예제 #1
0
        static void Main(string[] args)
        {
            Tree <int> tree = new Tree <int>();

            tree.AddNode(3);
            tree.AddNode(5);
            tree.AddNode(2);
            tree.AddNode(1);
            tree.AddNode(6);
            tree.AddNode(7);
            tree.AddNode(4);
            tree.AddNode(5);
            tree.AddNode(10);
            tree.AddNode(6);

            //Console.WriteLine(tree.Root);

            //tree.Root.Left = new TreeNode<int>();
            //Add(tree.Root.Left);

            //Console.WriteLine(tree.Root.Left);

            tree.DFS();
            Console.WriteLine();
            tree.BFS();

            Console.WriteLine(tree.Contains(3));
        }
        public static void Main(string[] args)
        {
            Node currentNode = null;

            Tree.Insert(ref currentNode, 10);
            Tree.Insert(ref currentNode, 20);
            Tree.Insert(ref currentNode, 15);
            Tree.Insert(ref currentNode, 0);
            Tree.Insert(ref currentNode, 5);

            Console.WriteLine("contains tests:");

            Console.WriteLine($"{Tree.Contains(currentNode, 10) == true} , 10 exists");
            Console.WriteLine($"{Tree.Contains(currentNode, 4) == false} , 4 does not exist");
            Console.WriteLine($"{Tree.Contains(currentNode, 20) == true} , 20 exists");
            Console.WriteLine($"{Tree.Contains(currentNode, 0) == true} , 0 exists");
            Console.WriteLine($"{Tree.Contains(currentNode, 100) == false} , 100 does not exist");

            Console.WriteLine("find min tests:");

            Console.WriteLine($"{Tree.FindMin(currentNode) == 0} , 0 is the minumim");

            Console.WriteLine("find max tests:");

            Console.WriteLine($"{Tree.FindMin(currentNode) == 20} , 20 is the maximum");

            Console.WriteLine("level-order traversal - can be used for printing the tree:");
            Tree.LevelOrder(currentNode);


            Console.WriteLine();
            Console.WriteLine("pre-order traversal");
            Tree.PreOrder(currentNode);


            Console.WriteLine();
            Console.WriteLine("in-order traversal - can be used for sorting the tree:");
            Tree.InOrder(currentNode);


            Console.WriteLine();
            Console.WriteLine("post-order traversal");
            Tree.PostOrder(currentNode);
        }