1367:查找二叉树(tree_a)

简介: 1367:查找二叉树(tree_a)

1367:查找二叉树(tree_a)

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为x的结点,并指出是第几个结点。例:如图二叉树的数据文件的数据格式如下:

【输入】

第一行n为二叉树的结点个树,n<=100;第二行x表示要查找的结点的值;以下第一列数据是各结点的值,第二列数据是左儿子结点编号,第三列数据是右儿子结点编号。

【输出】

一个数即查找的结点编号。

【输入样例】

7

15

5 2 3

12 4 5

10 0 0

29 0 0

15 6 7

8 0 0

23 0 0

【输出样例】

4

1. #include <iostream>
2. #include <cstdio>
3. #include <cstring>
4. #include <algorithm>
5. using namespace std;
6. struct node{
7.  int data;
8.  int left,right;
9. }tree[110];
10. int n,t,ans;
11. void inorder(int root){
12.   if(tree[root].left!=0) inorder(tree[root].left);
13.   ans++;
14.   if(tree[root].data==t){
15.     cout<<ans<<endl;return;
16.   }
17.   if(tree[root].right!=0) inorder(tree[root].right);
18. }
19. int main()
20. {
21.   cin>>n>>t;
22.   for(int i=1;i<=n;i++) cin>>tree[i].data>>tree[i].left>>tree[i].right;
23.   inorder(1);
24. return 0;
25. }


相关文章
|
并行计算 安全 Java
C# .NET面试系列四:多线程
<h2>多线程 #### 1. 根据线程安全的相关知识,分析以下代码,当调用 test 方法时 i > 10 时是否会引起死锁? 并简要说明理由。 ```c# public void test(int i) { lock(this) { if (i > 10) { i--; test(i); } } } ``` 在给定的代码中,不会发生死锁。死锁通常是由于两个或多个线程互相等待对方释放锁而无法继续执行的情况。在这个代码中,只有一个线程持有锁,且没有其他线程参与,因此不
886 3
|
存储 Go C语言
如何用Go开发eBPF程序
【2月更文挑战第7天】
|
机器学习/深度学习 分布式计算 算法
java在机器学习的应用
java在机器学习的应用
273 1
|
10月前
|
XML 存储 分布式计算
【赵渝强老师】史上最详细:Hadoop HDFS的体系架构
HDFS(Hadoop分布式文件系统)由三个核心组件构成:NameNode、DataNode和SecondaryNameNode。NameNode负责管理文件系统的命名空间和客户端请求,维护元数据文件fsimage和edits;DataNode存储实际的数据块,默认大小为128MB;SecondaryNameNode定期合并edits日志到fsimage中,但不作为NameNode的热备份。通过这些组件的协同工作,HDFS实现了高效、可靠的大规模数据存储与管理。
1252 70
|
存储 JSON 区块链
【HarmonyOS NEXT开发——ArkTS语言】购物商城的实现【合集】
HarmonyOS应用开发使用@Component装饰器将Home结构体标记为一个组件,意味着它可以在界面构建中被当作一个独立的UI单元来使用,并且按照其内部定义的build方法来渲染具体的界面内容。txt:string定义了一个名为Data的接口,用于规范表示产品数据的结构。src:类型为,推测是用于引用资源(可能是图片资源等)的一种特定类型,用于指定产品对应的图片资源。txt:字符串类型,用于存放产品的文字描述,比如产品名称等相关信息。price:数值类型,用于表示产品的价格信息。
598 5
|
消息中间件 资源调度 安全
操作系统----临界区,临界资源,互斥量,互斥对象
操作系统----临界区,临界资源,互斥量,互斥对象
692 2
|
存储 物联网
【洛谷 P1135】奇怪的电梯 题解(广度优先搜索)
这是一个关于奇怪电梯的编程问题摘要: - 电梯在每层停,且每层有特定数字 $K_i$ 决定上/下按钮的功能。 - 目标是从 $A$ 楼到 $B$ 楼,求最少按键次数,若无法到达则输出 `-1`。 - 输入包括 $N$(楼层数)、$A$(起点)和 $B$(终点),以及每层的 $K_i$ 数字。 - 使用广度优先搜索(BFS)解决,通过队列存储访问过的楼层,避免重复并计算步数。 - 当到达目标楼层时返回步数,队列空时返回 `-1`。
379 0
|
存储 SQL 分布式计算
【史上最全】Hadoop精选18道面试题(附回答思路)
【史上最全】Hadoop精选18道面试题(附回答思路)
1739 1
【史上最全】Hadoop精选18道面试题(附回答思路)
|
数据采集 人工智能 数据可视化
「AI工程师」数据处理与分析-工作指导
**数据分析师工作指南概要** 该工作指导书详细阐述了数据分析师的职责,包括数据收集、清洗、整合处理以及分析挖掘。分析师需确保数据质量,运用统计和机器学习方法发现洞察,并通过可视化报告支持决策。此外,他们需维护高效的工作流程,使用编程工具优化处理,并遵循数据收集、分析及报告编写规范。成功执行此角色要求深厚的技术基础、沟通协作能力以及持续学习的态度。
663 1
「AI工程师」数据处理与分析-工作指导
|
分布式计算 安全 Hadoop
Hadoop 集群一直处于安全模式,强制退出后出现数据丢失警告。解决方法
本文介绍了Hadoop集群安全模式的相关命令和问题解决。当集群处于安全模式时,可使用`hdfs dfsadmin -safemode get`检查状态,`enter`进入,`leave`或`forceExit`离开。若因数据块不一致导致安全模式持续,可通过强制退出,然后删除丢失数据块的文件以恢复正常。如果遇到权限问题,可以使用`chmod`授权或关闭HDFS权限验证(不推荐),配置修改后需重启集群生效。
1950 0
Hadoop 集群一直处于安全模式,强制退出后出现数据丢失警告。解决方法