SSOJ2469查找二叉树
3597+
作者:crxis 发布:2017-08-23 分类:二叉树
题目大意:已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为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
解题思路
二叉树结点用一个结构体存储,记录他的数据a、左儿子l、右儿子r,读入数据后,递归中序遍历二叉树,将输出的语句改一下,不输出结点的值,而是记录输出结点的个数,如果输出结点的值等于m,就输出个数(即编号)。如果觉得理解困难,还可以预先把中序遍历存到数组中,得到中序遍历后,再遍历这个数组,查找m在哪个位置(编号)。
程序实现
附:二叉树的先序遍历、中序遍历、后续遍历