小米笔试-二叉树

MATLAB基础应用精讲-【图像处理】GNN图神经网络(附python代码实现) 图神经网络由于其在处理非欧空间数据和复杂特征方面的优势,受到广泛关注并应用于推荐系统、知识图谱、交通道路分析等场景。图结构可描述复杂关系,如基因结构、通信网络、交通路线、社交网络等。图计算挖掘结构信息,但无法学习节点特征。神经网络在欧氏空间数据上表现优越,但无法直接应用于非欧氏空间的图数据。图神经网络结合图计算和神经网络优势,处理非欧氏空间数据及其复杂特征,应用于网络链接预测、推荐系统和交通道路分析等场景。实际应用中,图数据规模庞大,如百亿级节点、千亿级边,存储开销超过10TB。 阅读详情

有一棵合法的二叉树,共有n个节点(1<=n<=1000),节点编号为(0~n-1),给定节点间的父子关系,求树的高度。

输入:第一行一个整数n,接下来有n-1行。每行两个整数,以空格分隔,第一个表示父节点编号,第二个表示子节点编号。

输出:树的高度

样例输入:

5
0 1
0 2
1 3
1 4
样例输出

3

这个题的关键是树的表示,其次是求树的高度:

(1)定义结构体用指针表示二叉树间节点关系

规规矩矩定义结点结构,构建一棵树,同时用指针数组存储下每个节点的地址,一遍为他添加孩子节点时能迅速找到。这个方法要完完整整写下来估计耗时不少。



(2)用数组表示

数组表示可能有多种,先说一维数组,当节点数目比较小时,可以考虑用完全二叉树的那种数组表示,2*n为左孩子,2*n+1为右孩子。但是有个巨大的问题是数组开多大,事实上当节点数为20的时候,数组就需要1024*1024这么大了,所以对于此题这种解法不可取(坑爹的我直接用的这个)

二维数组1001*2,我们可以用数组下标代表节点,每个节点2个单元,第一个单元表示左孩子下标,第二个单元表示右孩子单元。每次先存放左孩子单元,再存放右孩子。如果不存在就是-1。这样的话如tree[i][0]!=-1代表有左子树,tree[i][1]!=-1代表存在右子树,不断遍历,直到遇到-1为止。


下面给出用二维数组的方法




#include<iostream>
#include<string.h>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
const int MAX=1001;
int tree[MAX][2]={0};
int high(int t[][2],int k)
{
    if(t[k][0]==-1)return 1;
    //else if(t[k]==1&&t[2*k]==0&&t[2*k+1]==0)return 1;
    int hl=0,hr=0;
    if(t[k][0]!=-1)hl=high(t,t[k][0]);
    if(t[k][1]!=-1)hr=high(t,t[k][1]);
    return hl>hr?hl+1:hr+1;
}

int main()
{
	int n;
	cin>>n;
	for(int i=0;i<n;i++)
    {
        tree[i][0]=-1;
        tree[i][1]=-1;
    }
	int m=n-1;
	int parent,child,root;
	while(m)
    {
        cin>>parent>>child;

        if(tree[parent][0]==-1)tree[parent][0]=child;
        else tree[parent][1]=child;

        if(m==n-1)root=parent;
        m--;
    }
    int h=high(tree,root);
    cout<<h<<endl;
    return 0;
}


YOLOv8改进策略【Neck】| CGA Fusion:内容引导的注意力融合模块,空间权重引导的多模态特征自适应融合 本文记录的是利用CGA Fusion 模块改进 YOLOv8 的多模态融合部分。(Content-Guided Attention Fusion)通过内容引导注意力生成空间权重,引导高低层特征的自适应融合。本文利用模块,通过内容引导注意力生成空间权重,自适应地融合两个模态的特征,在特征融合阶段实现跨模态语义对齐与噪声抑制,增强对不同模态互补特征的利用能力,从而提升模型在多模态场景下的检测鲁棒性与准确性。DEA-Net: Single image dehazing based on detail-enhanc 阅读详情

相关推荐

如何打开本地网络的防火墙端口(Windows版)解决ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。问题

ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。 最开始在遇到这个报错的时候十分不解,后来经过思考,有可能是服务器端口占用,或者并没有放行。因此搜查问题的关键是要先去排查问题。 在搜索栏输入控制面板 选择防火墙 选择开关 保证这些选项是开着的 选择高级设置 新建规则 创建协议端口 选择端口 允许连接 点击下一步 创建规则后点击下一步(后命名) 选择任意端口ALL即可 问题排查完毕!socket创建网络通信时,有读者

weixin_46900108的博客 9万+

C++数据结构 第二次作业

关于树的遍历问题

qq_62452899的博客 723

四旋翼黑科技揭秘:如何利用PX4隐藏的角加速度数据提升控制性能

本文深入探讨了如何利用PX4飞控中隐藏的角加速度数据,结合增量非线性动态逆(INDI)控制方法,显著提升四旋翼无人机的控制性能。通过实战教程,指导开发者从数据订阅、INDI原理到代码实现,构建响应更快、鲁棒性更强的控制回路,有效应对突风与快速机动。

lake5的博客 719

【刷题总结】树专场(2- 遍历相关拓展题型)

其实树的很多题,都是遍历的套路,先处理左子树,右子树还是先处理根节点引出不同种类的遍历类型。 层序遍历也存在着一些套路,我目前接触过的层序遍历的套路都只是一个类型,所以暂时按下不表,只讨论后序,前序,中序遍历。 236. 二叉树最近公共祖先 medium 给定一棵二叉树以及这棵树上的两个节点 o1和o2,请找到 o1和o2的最近公共祖先节点。 输入描述: 第一行输入...

qq_34813645的博客 203

基于STM32的3D打印机控制

通过本项目,我们成功搭建了一个基础的3D打印机控制系统,能够控制步进电机和加热元件。这为使用STM32开发功能丰富的3D打印机提供了基础,您可以在此基础上继续扩展功能,如增加LCD显示、SD卡存储、联网控制等功能。在这个项目中,我们将使用STM32微控制器开发一个基础的3D打印机控制系统。通过控制步进电机、加热元件和温度传感器,我们将实现一个简单的FDM(熔融沉积制造)3D打印机控制。- 检查PWM信号的生成功能,确认加热元件的控制逻辑是否正常。- 增加适当的滤波和校准算法,以提高温度读取的准确性。

2401_88938661的博客 1502

等时替代模型( Isotemporal Substitution Model)

文献阅读:Associations of sedentary time and physical activity with adverse health conditions: Outcome-wide analyses using isotemporal substitution model(该论文于2022年4月28日发表在柳叶刀子刊 EClinicalMedicine 上)

姚巨龙的博客 1万+

P1305新二叉树

P1305 新二叉树 Luogu 应用 题库 训练 比赛 记录 讨论 6.8K 通过 11.6K 提交 题目提供者 评测方式 云端评测 标签 难度 普及- 时空限制 1000ms / 128MB 提示:收藏到任务计划后,可在首页查看。 最新讨论 推荐的相关题目 题目描述 输入一串二叉树,用遍历前序打出。 输入输出格式 输入格式: 第一行为二叉树的节点数n。(n \leq 26n≤26) 后面n行,...

清欢年岁 409

【原创,解决CLodop安装后无法调用的问题】已经安装过CLodop,但是网页上仍然提示“clodop云打印服务(localhost本地)未安装启动,点击这里执行安装....”

在某些国内web网站中,需要安装一个名为“CLodop”的插件;但在实际使用过程中,即使安装了CLodop插件,网页试图调用它时还是会提示“clodop云打印服务(localhost本地)未安装启动,点击这里执行安装...”,且无法完成相关打印任务 本文属原创博客,分析了解决CLodop无法被调用的问题,并附上了原理和解决方法,本质上是和跨域请求以及CORS类安全组策略相关

link_in_csdn的博客 2万+

二叉树的深度

二叉树的深度 查看提交统计提问 总时间限制: 1000ms 内存限制: 65535kB 描述 给定一棵二叉树,求该二叉树的深度 二叉树深度定义:从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的节点个数为树的深度 输入第一行是一个整数n,表示二叉树的结点个数。二叉树结点编号从1到n,根结点为1,n 接下来有n行,依

m0_57375647的博客 950

ComfyUI 的 LoRA 训练:素材打标签与调优全攻略

标签是 LoRA 训练的"地基"——地基打不牢,后续调参再精细也难出好效果。记住:标签要"少而精",聚焦独特点,用触发词控效果。下一篇我们将讲解参数设置,让你的优质标签发挥最大价值~

2301_78150483的博客 3098

2025年GESP12月认证C++四级真题解析

摘要 本文包含11道C++编程题目,涵盖指针、数组、函数参数传递、结构体和排序算法等知识点。每题2分,总分30分,主要考察学生对C++基础语法的掌握程度。题目包括指针定义与解引用(第1-4题)、二维/三维数组遍历(第4-5题)、变量作用域(第6题)、函数传参方式(第7题)、结构体操作(第8题)、递归算法(第9题)和排序稳定性判断(第10题)。最后第11题要求补全选择排序算法代码片段。每道题均提供标准答案和详细解析,适合用于检验C++基础知识的掌握情况。

lan_in的博客 317

数据结构-二叉树-1591 二叉树先序遍历

输入一个整数n(n <= 100000),表示二叉树中结点个数,编号为1~n。约定1号结点为二叉树的根节点。然后输入n行,每行包括两个整数,第i行表示编号为i的结点的左子节点和右子节点的编号。如果某个结点没有左子节点,那么对应输行的第一个整数为0;如果某个结点没有右子节点,那么对应行的第二个整数为0。 先序遍历输出此二叉树每个结点的编号,每行输出一个编号。先序遍历(DLR),是二叉树遍历的一...

PROBIE_的博客 1745

FANUC机器人S523 新款PN板卡与西门子PLC通信配置介绍

FANUC机器人S523 新款PN板卡与西门子PLC通信配置介绍

Robot_PLC_HMI_Automation 351

2017小米服务端开发笔试(求二叉树高度)

、 本题的思路: dfs #include #include #include #include #include #include #include #include #include #include #include #include #include #include #i

patkritLee的博客 1190

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

塔子哥的完整二叉树-小米2023笔试(codefun2000)

塔子哥有一棵节点数为 n 的完整二叉树,对于一个完整二叉树的定义是:要么每个节点有两个子节点,要么每个节点没有子节点。2 号节点和 3 号节点权值均为 1 ,1 号节点是乘法运算,故 1 号节点的权值为 1。每个节点有两种运算,要么为加法,要么为乘法。ci =0 表示节点 i 的运算是加法,ci=1 表示节点 i 的运算是乘法。现在,塔子哥问你这个完整二叉树的根节点的权值是多少。第二行,n−1 个正整数 p[2,3,…表示第 i 个节点的父节点,1 号节点是根节点。一个整数,表示根节点的值,答案对。

lulutoy的博客 1298

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

小米2019笔试 —— 打印二叉树

#include <iostream> #include <vector> #include <string> #include <deque> #include <stack> using namespace std; stack<char> s; class Node{ public: Node* left...

goldfish3的博客 512

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

小米笔试题2019-括号法表示二叉树

括号法表示二叉树,并且中序遍历二叉树 import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; class TreeNode { String val; TreeNode left; TreeNode right; public TreeNode(St...

qq_23989985的博客 376

小米 2012 春季校招 笔试

小米的007号员工 来我们学校宣讲会来了, 呵呵,原来是校友。     笔试前抽奖,我抽中了米兔,本来还以为是一个手机呢,到手了才知道是个毛绒玩具,也不错,拿回去送GF吧。 言归正传,笔试内容。 填空题:  1.入栈出栈的顺序,栈的最小容量 2.写出某个已给出的IP地址的32位无符号整数形式 3.异或来异或去的求值,easy 4.根据二叉树后序遍历和中序遍历,写出前序遍历

David.Beckham的专栏 1611

【求职】小米 2018 秋招测试开发工程师笔试题

小米 2018 秋招测试开发工程师笔试题 一、单选题 1.静态变量static 在不同的实例中地址是否一样?他们储存在什么区域?( ) A. 地址一样,在堆栈区。 B. 地址不一样,在堆栈区。 C. 地址一样,在全局区。 D. 地址不一样,在全局区。 2.在网络字节序中,所谓”小端”(little endian)说法正确的是 ( ) A. 高字节数据存放在低地址处,低字节数据存放在高地址处 B. 低字节位数据存放在内存低地址处, 高字节位数据存放在内存高地址处 C. 和编译器相关 D. 上述答案都不正确 3

瑞新の博客:bennyrhys 1898

求二叉树的层序遍历-腾讯/美团/神策数据/小米笔试编程C/C++

树的遍历题,真是经久不衰,笔试/面试必会啊★★★★★ 题目描述: 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例: 输入:{1,2,3,4,#,#,5}(更多博文,欢迎来我的博客学习交流https://blog.youkuaiyun.com/have_a_cat) 返回值:[[1],[2,3],[4,5]] (这是牛客网提供的一道题目,想尝试的码友们,可以通过这个链接挑战https://www.nowcoder.com/practice/04a5560e43e24e9.

have_a_cat的博客 235

2017 小米笔试题 编程题 求树的高度 Java代码实现

2017 小米笔试题 编程题 求树的高度 Java代码实现题目:树的高度时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 现在有一棵合法的二叉树,树的节点都是用数字表示, 现在给定这棵树上所有的父子关系,求这棵树的高度输入 输入的第一行表示节点的个数n(1<=n<=1000,节点的编号为0到n-

Jim_Yin 1327

小米嵌入式软件工程师笔试题目解析

哈喽,大家好。我又来分享笔试题目了。今天分享的是小米的嵌入式软件开发工程师的笔试题目。这份题目很奇怪,操作系统,数据结构,网络基础,Java,C++,数据库,正则表达式,Linux都考到了。当时做题的时候,我都怀疑发错卷子了。。。还好最后两道大题都做了出来,否则,笔试很容易就挂了。面试这个公司的时候,一共面了两轮技术面,一轮HR面。最后也收获了Offer。但是,已经是十月中旬,手上没有三方协议了,很可惜,错过了。面经可以参考下这篇文章2020秋招联发科小米等面经分享 文章目录选择题专项选择题编程题1(字.

嵌入式与Linux那些事的博客 7694

*牛客网公司真题*------小米2018秋招测试开发工程师笔试题

** 牛客网公司真题------小米2018秋招测试开发工程师笔试题 ** 静态变量static在不同的实例中地址是否一样?他们储存在什么区域? -----------地址一样,在全局区。 在网络字节序中,所谓”小端”(little endian)说法正确的是 低字节位数据存放在内存低地址处, 高字节位数据存放在内存高地址处 小端口诀: 高高低低 -&amp;gt; 高字节在高地址, 低字...

y果子 1193

合并二叉树_字节跳动/小米/百度笔试编程C/C++

今天手顺,又AC一题,又是一道二叉树题。话不多说,上题! 题目描述 已知两颗二叉树,将它们合并成一颗二叉树。合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替。例如: 两颗二叉树是: Tree 1 1 / \ 3 2 / 5 Tree 2 2 / \ 1 3 \ \ 4 7 合并后的树为 3 / \ 4...

have_a_cat的博客 239

小米公司2013校园招聘笔试题(研发)+答案

小米公司2013校园招聘笔试题(研发)+答案 分类: 名企笔试题2013-06-26 11:41 255人阅读 评论(0) 收藏 举报 小米 笔试 一,填空题 1. 两个人一个速度为a,一个速度为b,相向而行,在距离为s的时候,A放出鸽子,速度为c,鸽子飞到B后,会返回A,遇到A后再返回B。在这期间鸽子飞行的路程 2. (he)的平方 = she。 h,e

学习之路 639

一个完全二叉树的问题(2013年校园招聘小米笔试题)

题目:已知一个完全二叉树的结点数为770,问完全二叉树的叶子结点数为多少? 声明:本人只是一个初学者,如果解答有问题,请指正 说明:结点的编号从1开始编号,层数也是从1开始编号 解题思路: 一、根据二叉树和完全二叉树的性质: 1.在二叉树的第i层最多有2的(i-1)次方 2.具有n个结点的完全二叉树的深度为(log2n)+1 3.如果第i个结点(i>1),则其双亲结点为[i/2]

NiluChen的专栏 1215
上一篇: 粒子群算法认识
下一篇: XXX-笔试
WayToAccept
博客等级 码龄14年 21粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值