您的位置:首页 > 职场人生

高度最小的BST之程序员面试经典

2016-05-08 20:34 344 查看


题目描述

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

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

二叉排序树(Binary Sort Tree)又称二叉查找树(Binary
Search Tree),亦称二叉搜索树

二叉排序树或者是一棵空树,或者是具有下列性质的二叉树

(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;

(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;

(3)左、右子树也分别为二叉排序树;

(4)没有键值相等的节点。
因为只要求高度,所以代码如下:

import java.util.*;

public class MinimalBST {
public int buildMinimalBST(int[] vals) {
return (int)(Math.log10(vals.length)/Math.log10(2))+1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: