Example #1
0
        public void Run()
        {
            // Create balanced tree
            int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            var root = TreeNode.CreateMinimalBst(array);
            Console.WriteLine("Root? " + root.Data);
            Console.WriteLine("Is balanced? " + IsBalanced(root));
            Console.WriteLine("Improved Is balanced? " + IsBalancedImproved(root));

            // Could be balanced, actually, but it's very unlikely...
            var unbalanced = new TreeNode(10);
            for (var i = 0; i < 10; i++)
            {
                unbalanced.InsertInOrder(AssortedMethods.RandomIntInRange(0, 100));
            }

            Console.WriteLine("Root? " + unbalanced.Data);
            Console.WriteLine("Is balanced? " + IsBalanced(unbalanced));
            Console.WriteLine("Improved Is balanced? " + IsBalancedImproved(unbalanced));
        }
Example #2
0
	    public static TreeNode RandomBst(int N, int min, int max) 
        {
		    int d = RandomIntInRange(min, max);
		    TreeNode root = new TreeNode(d);
		    for (int i = 1; i < N; i++) {
			    root.InsertInOrder(RandomIntInRange(min, max));
		    }
		    return root;
	    }