给一个有序数组生成平衡搜索二叉树(java)

news/2024/10/30 21:31:04/

给一个有序数组生成平衡搜索二叉树

  • 给一个有序数组生成平衡搜索二叉树
  • 递归生成
  • 二叉树专题

给一个有序数组生成平衡搜索二叉树

给定一个有序的数组,用这个数组生成一个平衡搜索二叉树.

这个题还是很简单的,知道什么时平衡搜索二叉树就行了,
左边值小于头节点值,头节点值小于右边值,左树右树高度差不超过1.

递归生成

解题思路.因为要生成平衡的搜索树,因此有序数组的中间值 ,
就是头节点的值,
然后左边构造成左树,
右边构造成右树.
然后这样递归就构造出一颗平衡搜索二叉树了.

先定义一个树结构

  public  class Node{public int val;public Node left;public Node right;public Node(int val) {this.val = val;}}

代码演示;

 /*** 给定一个有序数组 生成平衡搜索二叉树* @param arr* @return*/public static Node generateNode(int[]arr){if (arr == null || arr.length == 0){return null;}//递归函数时return process(arr,0,arr.length - 1);}/*** 递归函数* @param arr* @param L* @param R* @return*/public static Node process(int[]arr,int L,int R){//base caseif(L > R){return null;}//中间点int mid = L +  (R - L)/2;Node head = new Node(arr[mid]);head.left = process(arr,L,mid - 1);head.right = process(arr,mid + 1,R);return head;}

二叉树专题

二叉树的序列化和反序列化(java)

leetcode 二叉树展开为链表

镜像二叉树和求二叉树最大深度


http://www.ppmy.cn/news/104074.html

相关文章

Linux部署jumpserver堡垒机及问题汇总

部署过程相对复杂!请耐心浏览! 目录 一、jumpserver堡垒机简介 1.1 为什么需要使用堡垒机? 1.2 堡垒机主要功能 二、准备工作 2.1 关闭防火墙以及SElinux 1.2 时间同步 1.3 更改主机名 1.4 yum源备份及准备 1.5 安装初始工具 1.6 修改系统字…

对于后端Linux的入门知识

为什么使用Linux 文章来自https://librehunt.org/,在这个网站里,你可以根据它提供的选项,最终选出适合你的Linux版本 It’s safe and private. No tracking. No company watching over you, no “big brother is watching you” nonsense. Ju…

jmeter接口工具使用详解之基础介绍

目录 一、优点 二、安装及下载 三、基础构成 jmeter是一款优秀的开源性能测试工具, 一、优点 1、开源工具,可扩展性非常好 2、高可扩展性,用户可自定义调试相关模块代码 3、精心简单的GUI设计,小巧灵活 4、完全的可移植性…

App 软件开发《单选2》试卷及答案解析(订正)

App 软件开发《单选2》试卷及答案解析(订正) 注:本文章部分答案及解析来自 ChatGPT 的回答,正确性请自行甄辨。(这玩意儿经常一本正经的胡说八道) 文章目录 App 软件开发《单选2》试卷及答案解析&#xff0…

ASRT语音识别系统的部署以及模型的使用(运用篇)

ASRT语音识别系统的部署以及模型的使用(运用篇) 前言 ASRT是一个中文语音识别系统,由AI柠檬博主开源在GitHub上。 GitHub地址:ASRT_SpeechRecognition 国内Gitee镜像地址:ASRT_SpeechRecognition 文档地址:ASRT语音识别工具文…

iPad Pro “买后生产力” - 在iPad上远程连接服务器编程写代码【公网远程】

文章目录 前言视频教程1. 本地环境配置2. 内网穿透2.1 安装cpolar内网穿透(支持一键自动安装脚本)2.2 创建HTTP隧道 3. 测试远程访问4. 配置固定二级子域名4.1 保留二级子域名4.2 配置二级子域名 5. 测试使用固定二级子域名远程访问6. iPad通过软件远程vscode6.1 创建TCP隧道 7…

微信小程序 -- 获取语音,并将语音转为文字(插件:微信同声传译)

实现的功能是获取语音,并将语音转为文字,实现效果如下: 1. 小程序后台添加插件:微信同声传译 登录小程序后台:https://mp.weixin.qq.com 11. 设置 -> 第三方设置 -> 添加插件 12. 输入“微信同声传译”&#x…

ASEMI单向可控硅BT151参数,BT151封装,BT151体积

编辑-Z 单向可控硅BT151参数: 型号:BT151 存储接点温度范围Tstg:-40~150℃ 工作接点温度范围Tj:-40~125℃ 断态重复峰值电压VDRM:650V 重复峰值反向电压VRRM:650V RMS导通电流IT(RMS):12…