码迷,mamicode.com
首页 > 其他好文 > 详细

【20】高度最小的BST

时间:2017-06-27 00:00:53      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:code   util   一个   import   代码   二叉查找树   star   nbsp   树的高度   

【题目】

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

给定一个有序序列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

标签:code   util   一个   import   代码   二叉查找树   star   nbsp   树的高度   

原文地址:http://www.cnblogs.com/noaman/p/7082738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!