20高度最小的BST

Posted noaman_wgs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20高度最小的BST相关的知识,希望对你有一定的参考价值。

【题目】

对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树。

给定一个有序序列int[] vals,请返回创建的二叉查找树的高度。

【代码】

import java.util.*;

public class MinimalBST {
    
     public int buildMinimalBST(int[] vals) {
         if(vals == null || vals.length <1)
            return 0;
         return buildMinimalBSTCore(vals, 0 , vals.length-1);
     }
    public int buildMinimalBSTCore(int[] vals, int start, int end) {

        if(end < start)
            return 0;
        int mid = (start + end)/2;
        int leftH = 1 + buildMinimalBSTCore(vals, start, mid-1);
        int rightH = 1 + buildMinimalBSTCore(vals, mid+1, end);
        
        return Math.max(leftH, rightH);
    }
}

 

以上是关于20高度最小的BST的主要内容,如果未能解决你的问题,请参考以下文章

AVL排序二叉树树

设置 html 页面的最小高度

红黑树

c_cpp BST高度

ie6下最小高度问题

783. Minimum Distance Between BST Nodes BST节点之间的最小距离