当前位置:首页 > 数据结构 > 二叉树 > 正文
SSOJ2469查找二叉树
3046+

题目大意:已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为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在哪个位置(编号)。

程序实现

附:二叉树的先序遍历、中序遍历、后续遍历

SSOJ2469查找二叉树:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!