如何将此排序数组实现为二叉搜索树方法

时间:2015-05-14 12:54:12

标签: c# binary-search-tree

下面是一种将排序数组添加到二叉搜索树中以允许树平衡的方法。我想知道如何将下面的方法应用到MAIN中以便运行并返回结果。

class Program
{
    static void Main(string[] args)
    {
        // how to I implement the below method in the main ??
    }

    public virtual TreeNode sortedArrayToBST(int[] num)
    {
        if (num.Length == 0)
        {
            return null;
        }
        return sortedArrayToBST(num, 0, num.Length - 1);
    }
    public virtual TreeNode sortedArrayToBST(int[] num, int start, int end)
    {
        if (start > end)
        {
            return null;
        }

        int middle = start + (end - start) / 2;
        TreeNode root = new TreeNode(num[middle]);
        root.Left = sortedArrayToBST(num, start, middle - 1);
        root.Right = sortedArrayToBST(num, middle + 1, end);

        return root;
    }
}

2 个答案:

答案 0 :(得分:0)

创建一个整数数组并将其传递给sortedArrayToBST方法。 使用此方法返回的TreeNode执行inorder遍历。

答案 1 :(得分:0)

static void Main(string[] args)
{
      object[] SortedArrray = { 1, 3, 5, 7, 9, 11, 13 };
        TreeNode bst = new TreeNode(SortedArrray);
}