程序员面试金典——高度最小的BST
来源:互联网 发布:神州泰岳 知乎 编辑:程序博客网 时间:2024/04/29 21:16
题目描述
对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树。
给定一个有序序列int[] vals,请返回创建的二叉查找树的高度。
思路:
每次取出数组中点,然后分左右子树,依次递归即可。
import java.util.*;public class MinimalBST { public int buildMinimalBST(int[] vals) { // write code here if(vals.length==0)return 0; int height = buildBST(vals,0,vals.length-1); return height; } public int buildBST(int vals[],int start,int end){ if(start>end)return 0; int mid = (start+end)/2; int leftheight = 1+buildBST(vals, start, mid-1); int rightheight = 1+buildBST(vals, mid+1, end); if(leftheight>rightheight)return leftheight; else return rightheight; }}
0 0
- 程序员面试金典——高度最小的BST
- 《程序员面试金典》高度最小的BST
- 程序员面试金典-4.3高度最小的BST
- 程序员面试金典:高度最小的BST、输出单层结点
- 高度最小的BST之程序员面试经典
- 高度最小的BST
- 高度最小的BST
- 高度最小的BST
- 最小高度的BST
- 高度最小的BST
- 程序员面试金典——检查是否为BST
- 程序员面试金典——最小调整有序___
- 《程序员面试金典》检查是否为BST
- 程序员面试金典-4.5检查是否为BST
- 求二叉搜索树(BST)的最小高度
- 程序员面试金典: 9.9 递归和动态规划 9.10求堆出箱子的最大高度
- 程序员面试金典:检查是否为BST、寻找下一个结点
- 程序员面试金典: 9.4树与图 4.3给定一个有序整数数组,元素各不相同且按升序排列,创建一颗高度最小的二叉查找树。
- Date对象之将时间转为毫秒数的方法对比
- haffuman 编码c++实现
- MyEclipse中Web项目的重命名问题
- Ubuntu下安装单机版Storm运行环境
- poj 3264 Balanced Lineup (RMQ算法 模板题)
- 程序员面试金典——高度最小的BST
- 给EditText的drawableRight属性的图片设置点击事件
- 简单的爬取豆瓣纸书名与简介和图片
- 动态规划汇总
- [BZOJ1218][HNOI2003]激光炸弹(扫描线+线段树)
- Ctrl+C失效了怎么办?怎么重新设置快捷键?
- MySQL运行状态show status详解
- iOS开发--TTFramework
- AndroidStudio中库的调用的缓存处理