Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            BSTree bst = new BSTree();

            bst.Add(11);
            bst.Add(2);
            bst.Add(15);
            bst.Add(6);
            bst.Add(19);
            bst.Display();
            // bst.Search(5);
            bst.Search(2);
            Console.ReadLine();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            BSTree searchy = new BSTree();

            searchy.Add(55);
            searchy.Add(22);
            searchy.Add(75);
            searchy.Add(15);
            searchy.Add(100);
            searchy.Add(65);
            searchy.Add(62);

            Console.WriteLine(searchy.SearchNode(65));
            Console.ReadKey();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            int[] a = new int[] { 3, 5, 8, 10, 12, 13, 18, 22, 30, 21 };

            BSTree BST = new BSTree(a, true);

            BST.delete(18);
            BST.traverse(new PreOrderTraversal(new TraversalActionImpl()));

            //BSTree BST = new BSTree();
            //InterceptableNodeFactory f = InterceptableNodeFactory.getInstance();
            //f.setNodeInterceptor(new NodeInterceptorImpl());
            //BST.setNodeFactory(f);

            //BST.buildFromArray(a);
            //BST.insert(44);


            //Console.Write("Array: ");
            //for (int i = 0; i < 11; i++ )
            //{
            //    Console.Write(a[i] + " ");
            //}
            //Console.Write("\n");

            //Console.Write("PreOrderTraversal: ");
            //BST.traverse(new PreOrderTraversal());
            //Console.Write("\n");

            //Console.Write("InOrderTraversal: ");
            //BST.traverse(new InOrderTraversal());
            //Console.Write("\n");

            //Console.Write("PostOrderTraversal: ");
            //BST.traverse(new PostOrderTraversal());
            //Console.Write("\n");

            //Console.WriteLine("---------------------------");

            //Console.Write("Number of Leaves: " + BST.numberOfLeaves() + "\n");
            //Console.Write("Number of Nodes: " + BST.numberOfNodes(NodeState.ALL) + "\n");
            //Console.Write("Number of Nodes has only 1 child: " + BST.numberOfNodes(NodeState.HAVING_ONLY_ONE_CHILD) + "\n");
            //Console.Write("Number of Nodes has both children: " + BST.numberOfNodes(NodeState.HAVING_BOTH_CHILDREN) + "\n");
            //Console.Write("Number of Nodes has only left child: " + BST.numberOfNodes(NodeState.HAVING_ONLY_LEFT_CHILD) + "\n");
            //Console.Write("Number of Nodes has only right child: " + BST.numberOfNodes(NodeState.HAVING_ONLY_RIGHT_CHILD) + "\n");
            //Console.Write("Tree's hight: " + BST.findHeight() + "\n");

            //for (int i = 0; i < BST.findHeight(); i++)
            //    Console.Write("Level " + i + " has " + BST.numberOfNodesAtLevel(i) + " nodes \n");
            //int x;
            //Console.Write("Enter a key value to find path: ");
            //x = int.Parse(Console.ReadLine());
            //int pathlength = BST.findPathLengthToX(x);
            //if (pathlength != -1)
            //Console.Write("The path from root to " + x + " is " + pathlength + "\n");
            //else Console.WriteLine(x + " doesn't exists!");

            //Console.Write("Enter a key value to find: ");
            //x = int.Parse(Console.ReadLine());
            //if(BST.findX(x) == null)
            //{
            //    Console.WriteLine(x + " doesn't exists!");
            //}
            //else Console.WriteLine(x +" exists!");

            //Console.WriteLine("Minimum node: " + BST.minimum());
            //Console.WriteLine("maximum node: " + BST.minimum());
            //Console.WriteLine("Minimum node of right child: " + BST.minimumOfRightChild());
            //Console.WriteLine("Maximum node of left child: " + BST.maximumOfLeftChild());

            //Console.Write("Enter a key value to delete: ");
            //x = int.Parse(Console.ReadLine());
            //BST.delete(x);
            //Console.Write("PreOrderTraversal: ");
            //BST.traverse(new PreOrderTraversal());
            //Console.Write("\n");

            Console.ReadKey();
        }