二叉树的序遍历

时间限制: 1 s 空间限制: 32000 KB 题目等级 : 白银 Silver
题目描述 Description

求一棵二叉树的前序遍历,中序遍历和后序遍历

输入描述 Input Description

第一行一个整数n,表示这棵树的节点个数。

接下来n行每行2个整数L和R。第i行的两个整数Li和Ri代表编号为i的节点的左儿子编号和右儿子编号。

输出描述 Output Description

输出一共三行,分别为前序遍历,中序遍历和后序遍历。编号之间用空格隔开。

样例输入 Sample Input

5

2 3

4 5

0 0

0 0

0 0

样例输出 Sample Output

1 2 4 5 3

4 2 5 1 3

4 5 2 3 1

数据范围及提示 Data Size & Hint

n <= 16

代碼實現:

 1 #include<cstdio>
 2 int n,a,b,tr[60],v[60];
 3 inline void xx(int x){if(!tr[x]) return;printf("%d ",tr[x]);xx(x*2);xx(x*2+1);}
 4 inline void zx(int x){if(!tr[x]) return;zx(x*2);printf("%d ",tr[x]);zx(x*2+1);}
 5 inline void hx(int x){if(!tr[x]) return;hx(x*2);hx(x*2+1);printf("%d ",tr[x]);}
 6 int main(){
 7     scanf("%d",&n);tr[1]=v[1]=1;
 8     for(int i=1;i<=n;i++){
 9         scanf("%d%d",&a,&b);
10         tr[v[i]*2]=a;tr[v[i]*2+1]=b;
11         v[a]=v[i]*2;v[b]=v[i]*2+1;
12     }
13     xx(1);printf("\n");
14     zx(1);printf("\n");
15     hx(1);printf("\n");
16     return 0;
17 }

。。。

转载于:https://www.cnblogs.com/J-william/p/6160319.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GUI登录界面

在这次的作业中&#xff0c;我先使用单选按钮&#xff0c;输入框&#xff0c;复选框设计了一个简单地登录界面。接着我使用了MouseListener将登陆按钮与下一个“查询界面”连接起来。最后我使用了我们本周所学的JFrame框架与事件处理机制设计了一个简单地界面。我所设计的登录界…

浅谈ROS操作系统及其应用趋势

ROS操作系统是最先由斯坦福开发的开源机器人操作系统&#xff0c;目前由willowgarage公司开发和维护&#xff0c;相关的开发社区也很成熟&#xff08; http://www.ros.org &#xff0c; http://answers.ros.org, http://www.willowgarage.com), 经过几年的发展API也逐渐稳定&a…

Raft学习传送门

Raft官网 官方可视化动画1 官方可视化动画2 论文中文翻译 论文英文地址 Paxos Made Simple论文翻译 Raft理解 技术分享 《分布式一致性raft算法实现原理》 状态机 MIT&#xff1a; raft实现 分布式系统学习2-Raft算法分析与实现 分布式系统MIT 6.824学习资源 知乎大神的&#…

【Python生成器与迭代器的区别】

目录 一、迭代 二、迭代器 1&#xff09;创建迭代器——两种方法 iter&#xff08;&#xff09;方法 利用()和range结合使用 2&#xff09;具体案例 3、生成器 4、二者的异同 1&#xff09;、共同点 2&#xff09;、不同点 a、语法上 b、用法上 一、迭代 首先理解一…

BZOJ4426 : [Nwerc2015]Better Productivity最大生产率

如果一个区间包含另一个区间&#xff0c;那么这两个区间是否在一起的生产率是一样的。 将所有这种包含了其他区间的区间放入数组$b$&#xff0c;其余的放入数组$c$&#xff0c;有多个相同的时候则从$b$移一个到$c$。 那么$c$里所有区间左端点递增&#xff0c;右端点也递增&…

[codevs1105][COJ0183][NOIP2005]过河

[codevs1105][COJ0183][NOIP2005]过河 试题描述 在河上有一座独木桥&#xff0c;一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子&#xff0c;青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数&#xff0c;我们可以把独木桥上青蛙可能到达的…

ABB机器人套接口通信 机器人部分

ABB机器人套接口通信 机器人部分 文章机器人部分&#xff0c;描述如何运行机器人从机程序&#xff0c;使机器人根据上位机节点发送的命令&#xff0c;执行具体运动。 ABB机器人执行3个任务。这些任务都配置为SEMISTATIC(背景程序)的任务,第三任务是正常动作任务。下文描述如…

CRM项目总结

CRM项目总结 一&#xff1a;开发背景 在公司日益扩大的过程中&#xff0c;不可避免的会伴随着更多问题出现。 对外 &#xff1a; 如何更好的管理客户与公司的关系&#xff1f;如何更及时的了解客户日益发展的需求变化&#xff1f;公司的产品是否真的符合客户需求&#xff1f;以…

【面经——《速腾聚创科技有限公司——深度学习算法工程师》】

自我介绍 实习项目 1&#xff09;项目主要应用的领域&#xff1f; 2&#xff09;难点在哪&#xff1f;——机械臂吸盘大小和目标大小之间坐标的协调 3&#xff09;难点不在于算法&#xff0c;在于数据的处理和均衡性&#xff1f;对于数据均衡方面有什么理解&#xf…

js变量和数据类型

转载于:https://www.cnblogs.com/songyinan/p/6181421.html

offline .net3.5

1.加载虚拟光驱 2.dism.exe /online /enable-feature /featurename:netfx3 /Source:D:\sources\sxs转载于:https://www.cnblogs.com/BillLei/p/5294082.html

(九)模板方法模式详解(包含与类加载器不得不说的故事)

作者&#xff1a;zuoxiaolong8810&#xff08;左潇龙&#xff09;&#xff0c;转载请注明出处&#xff0c;特别说明&#xff1a;本博文来自博主原博客&#xff0c;为保证新博客中博文的完整性&#xff0c;特复制到此留存&#xff0c;如需转载请注明新博客地址即可。 模板方法模…

阿里云openapi接口使用,PHP,视频直播

1.下载sdk放入项目文件夹中 核心就是aliyun-php-sdk-core&#xff0c;它的配置文件会自动加载相应的类 2.引入文件 include_once LIB_PATH . ORG/aliyun-openapi/aliyun-php-sdk-core/Config.php; 3.配置客户端对象,需要Access Key ID,Access Key Secret $iClientProfile Defa…

【面经——《广州敏视数码科技有限公司》——图像处理算法工程师-深度学习方向】

目录 笔试 HR面 专业面——60多分钟 主管面 反问&#xff1a; 笔试 8道题——简答题 1道编程 苹果、香蕉、梨、菠萝&#xff0c;彩色图像如何进行分类&#xff1f;一辆带车牌的汽车&#xff0c;图像亮度整体呈现偏亮状态&#xff0c;如何…

Android之网络编程利用PHP操作MySql插入数据(四)

因为最近在更新我的项目&#xff0c;就想着把自己在项目中用到的一些的简单的与网络交互的方法总结一下&#xff0c;所以最近Android网络编程方面的博文会比较多一些&#xff0c;我尽量以最简单的方法给大家分享&#xff0c;让大家明白易懂。如果有什么不对的地方&#xff0c;还…

RAPID 信号的互锁和同步 WaitTestAndSet 和 TestAndSet

RAPID 信号的互锁和同步 WaitTestAndSet 指令等待指定的持久型 BOOL 变量变成 FALSE.当变量值变为 FALSE, 该指令将设置变量为 TRUE 并继续执行. 该持久型变量可被作为同步或者互斥时的一个 BOOL 信号量。 这个指令与 TestAndSet 有着同样的基本功能。但是 WaitTestAnd…

【常用网址】——opencv等

opencv官网Releases - OpenCVhttps://opencv.org/releases/

(五):C++分布式实时应用框架——微服务架构的演进

C分布式实时应用框架——微服务架构的演进 技术交流合作QQ群&#xff1a;436466587 欢迎讨论交流 上一篇&#xff1a;(四)&#xff1a;C分布式实时应用框架——状态中心模块 版权声明:本文版权及所用技术归属smartguys团队所有&#xff0c;对于抄袭&#xff0c;非经同意转载等…

如何通过软件项目开发来提高自身的实力。

在我们这个专业&#xff0c;大多数人都不会将软件开发当作自己的事业&#xff0c;因为若要在这个行业上能够立足&#xff0c;得需要一个好的基础&#xff0c;但是由于这个东西并不是可以通过书本能够彻底的理解和 掌握的&#xff0c;随着时间的变化&#xff0c;我们身边的科技也…