利用二维数组打印二叉树层次结构

华为OD机试 - 创建二叉树(JS) 当我们遍历operations时,operations[i] = [height, index] ,其实就是找 tree[height][index]父节点,在该父节点下插入node(i)子节点,而在该父节点下插入node(i)子节点,其实就是向tree[height+1]数组中加入node(i)节点,比如。上图就是用例1的二叉树,输出时,由于题目说:层序遍历会遍历有值节点的 null 子节点,因此为上面二叉树的有值节点加入null子节点,如下图所示。这个就很简单了,具体实现看代码。 阅读详情

只是一个简单的demo,在学习二叉树时,如果能够看图形化的二叉树是比较有利于学习的。更能直观的查看前序,中续,后续,层序遍历。看到别的地方的二叉树图形化打印过于麻烦,下面提供简单直观的方法,打印二叉树。

public class Node {
	Node left;
	Node right;
	int value;

	public Node(int value) {
		this.value = value;
	}
    /**
 	  * 模拟一个高度为树高度h,长度为2的h次方-1的矩阵,将元素填充矩阵,打印矩阵,矩阵没有重新赋值的打印空
	 */
	public static void print(Node root) {
		if (root == null)
			return;
		int height = treeHeight(root);
		int width = (int) (Math.pow(height, 2)) - 1;
		width = width > 0 ? width : 1;//如果仅有root元素,则长度为1
		Log.println("h=" + height + ";w=" + width);
		int[][] square = new int[height][width];
		setIndex(square, root, 0, width - 1, 0);
		for (int i = 0; i < height; i++) {
			for (int j = 0; j < width; j++) {
				int v = square[i][j];
              if (v <= 0) {
                  Log.print(" ");
				} else {
					Log.print(v);
				}
			}
			Log.println();
		}
	}

	public static void setIndex(int[][] square, Node roo
leetcode二维数组-segment-tree:段树 leetcode二维数组为什么要分段树? 也称为区间树 也称为锦标赛树 用于运行范围总和查询 即给定范围内所有数字的总和 Prefix sum 用于获取范围和查询 如果输入数组不断发生变异,则前缀总和方法效果不佳 当输入频繁发生变异时使用段树 也用于运行范围最小查询 构建 Segment 树 使用归并排序的分区算法将数组划分为片段 分区后,我们将从叶子返回值到父 段树将被构建如下 使用数组存储段树,类似于Heap 构建段树 构造线段树的算法 段树理论 查找范围总和 有三种重叠类型 查找范围和流 查找范围和算法 更新操作 时间复杂度 比较 回顾段树 段树是二叉树 树底层的节点对应数组元素 其他节点包含处理范围查询所需的信息 最小范围查询的段树 在创建段树时获得最小值而不是求和 在运行 range min 查询时使用 minimum 而不是 sum 而不是差异,在运行更新时使用最小值 二维段树 | 子矩阵和 给定一个矩形矩阵 M[0…n-1][0…m-1],并要求查询找到一些子矩形 M[a…b][e…f] 上的总和/最小值/最大值,如以及修改单个矩阵元素的查询(即 M[x] [y] = p 立即下载

相关推荐

基于IMU的纯惯性导航轨迹绘制实践与优化

本文深入探讨了基于IMU的纯惯性导航轨迹绘制实践。通过修改开源组合导航算法KF-GINS,屏蔽GPS更新并简化地球参数,实现了仅依赖IMU数据的轨迹解算。文章详细介绍了代码改造、轨迹可视化方法,并分析了误差累积的根本原因,为深入理解惯性导航原理与传感器融合的必要性提供了宝贵的实践经验。

ff678的博客 398

Linux系统下奥比中光Astra Pro相机SDK部署与避坑指南

本文详细指导了在Linux系统下部署奥比中光Astra Pro深度相机SDK的全过程,涵盖系统准备、SDK安装、设备权限配置及常见问题排查。重点解析了USB设备规则配置这一关键步骤,并提供了Python与C++项目的集成方法,旨在帮助开发者快速完成相机配置,避免常见陷阱。

weixin_28455801的博客 300

RC滤波电路工作原理:【带图+公式计算】

容抗Xc和电容C成反比,和频率f也成反比,C越大,交流电容易通过电容,说明电容量大,电容的阻碍作用小;交流电的频率高,交流电也容易通过电容,说明频率高,电容的阻碍作用也小。我们可以看到,一个2V的纹波,经常RC电路后,幅值下降到mv级别,基本可以忽略不计,这就是RC滤波电路的工作原理。一个频率为1Khz的信号,通过一个容值为0.1uf的电容,计算电容对该信号产生的阻抗。将RC滤波器电路中的电阻,取值为1KΩ,电容取值为0.47uf,纹波幅值为2V。从公式1可以看到,Xc越大,Vout值就越接近Vin的值。

weixin_66299220的博客 2万+

OpenCV计算机视觉实战(3)——计算机图像处理基础

本文全面介绍了计算机视觉和数字图像处理的基础知识。从最基本的像素概念入手,详细讲解了图像在计算机中的表示方式,包括RGB、CMYK等色彩空间的工作原理及其应用场景。还系统分析了常见图像和视频文件格式的特点,梳理了计算机图像处理技术的发展历程,并重点介绍了OpenCV这一强大的开源计算机视觉库的功能与应用领域。

qq_30167691的博客 1743

基于MATLAB Simulink的电动汽车整车控制仿真

在本文中,我们选择了power_ElectricVehicle示例模型,该模型已经包含了电动汽车的基本组成部分,包括电机、变速器、驱动轮、电池等。例如,使用PID控制器来控制电机的转速,使用ABS控制器来控制车轮的制动力,使用转向控制器来控制车辆的转向角度,使用悬挂控制器来控制车轮的姿态等。通过建立模型和实现控制器,我们可以比较直观地了解电动汽车的工作原理和性能特点,并验证设计的控制系统在不同工况下的效果。而在电动汽车的开发中,整车控制系统是至关重要的一个组成部分,直接影响着电动汽车的性能和性价比。

qq_39605374的博客 1806

CD-SSB和NCD-SSB相关内容

NR中,PSS/SSS 和PBCH总是绑定的,因此也称为SSB block。频域由下往上,第121个SC(k = 120)的中心频率,就是SSB的GSCN对应的SSREF(同步参考频率)的出处如上,同步栅格映射到SSB 的RE位置是10个PRB的位置,然后指向RE index 0,即第121个子载波的中心频率;UE获得N_offset_GSCN后,即可结合当前SSB的GSCN推算下一个SSB的GSCN =N_Reference_GSCN(当前SSB的GSCN) + N_offset_GSCN。

asd199086的博客 3436

vue3 - 实现WebRTC播放实时rtsp视频流+NVR录像机回放,web前端浏览器网页播放RTSP推流,支持海康威视大华等摄像头/监控设备对接(监控摄像头录像及回放,拿到rtsp视频流如何处理)

vue3,webrtc-streamer,rtsp视频流,监控画面,nvr录像机,回放功能,监控摄像头设备,vue3播放Rtsp推流示例代码,前端如何在vue3项目中播放rtsp视频流,VUE中播放RTSP实时推流播放解决方案,vue3 webrtc播放rtsp视频流,vue3实现rtsp视频流浏览器实时播放,海康摄像机、NVR、流媒体服务器、回放取流RTSP地址,vue3+vite+ts 使用webrtc-streamer播放海康rtsp监控视频,播放海康rtsp监控视频,海康摄像机/录像机预览+回放RT

✅ 精选推荐文章 1万+

使用MATLAB的COMSOL LiveLink:实时连接和数据传输

COMSOL LiveLink是一种功能强大的MATLAB工具包,它允许用户在MATLAB环境中与COMSOL Multiphysics软件进行实时连接和数据传输。COMSOL LiveLink是一种功能强大的MATLAB工具包,它允许用户在MATLAB环境中与COMSOL Multiphysics软件进行实时连接和数据传输。使用COMSOL LiveLink,你可以进行更复杂的模型设置和数据传输使用MATLAB的COMSOL LiveLink:实时连接和数据传输。

PixelNinja的博客 2096

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

下一篇: java rmi
大狗哥传奇
博客等级 码龄10年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值