查找二叉树题解
来源:互联网 发布:msqrd.软件 编辑:程序博客网 时间:2024/06/06 10:02
查找二叉树题解
题目描述
1601:查找二叉树
时间限制:1 Sec 内存限制:128 MB
提交:16 解决:10
[提交][状态][讨论版]
题目描述
已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为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
提示
来源
信息学奥赛一本通
[提交][状态][讨论版]
한국어 中文 فارسی English ไทย
Anything about the Problems, Please Contact Admin:admin
题目解析
二叉树最为重要的当然是建树啦,会建树就会在二叉树颇有建树。那么怎样建树呢?此处推荐结构体http://blog.csdn.net/xiaoyali/article/details/4393486,观者可自行学习。
此处代码实现:
#include<cstdio>
#include<cmath>
using namespace std;
int num=0,temp;
struct node{
intdata,shu;
intleftchild,rightchild;
}node[101];//结构体
void zhongxu(int k){
if(k!=0){
zhongxu(node[k].leftchild);
num++;
node[k].shu=num;
zhongxu(node[k].rightchild);
}//中序遍历
return;
}
int main()
{
intm,n,i;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++){
scanf("%d%d%d",&node[i].data,&node[i].leftchild,&node[i].rightchild);/直接建树
if(node[i].data==m)temp=i;//记录
}
zhongxu(1);//中序遍历
printf("%d",node[temp].shu);
}
- 查找二叉树题解
- 查找--二叉查找树
- 二叉树 题解
- Sicily1210.二叉树题解
- 二叉树、二叉查找树
- 二叉树 & 二叉查找树
- 【查找结构】二叉查找树
- 查找之二叉树查找
- 查找之二叉树查找
- 查找:二叉查找树总结
- Noip2003加分二叉树题解
- 【NOIP2003】加分二叉树题解
- 二叉树查找树...
- 二叉树查找树
- 查找--遍历二叉树
- 二叉查找树
- 二叉查找树实现
- 二叉查找树
- TCP/IP协议头部结构体(转载)
- 获取assert目录下文件名及读取
- ab 压力测试--参数详情
- ganglia安装(未完成)
- JDK和maven项目环境变量配置
- 查找二叉树题解
- Ubuntu虚拟机下使用docker构建cluster运行Spark
- cache coherency
- JavaScript模块管理之RequireJS
- 2016年终总结
- java异常处理机制
- SVN 安装与使用教程总结
- 常用方法Util集合
- aaaaaa