作业帮 > 综合 > 作业

如何写算法求二叉树中某个结点的深度(大概思路)

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/29 08:39:25
如何写算法求二叉树中某个结点的深度(大概思路)
如何写算法求二叉树中某个结点的深度(大概思路)
1,可以用递归方法,
2,先根遍历
3,递归函数,增加形参,记录当前的根的层.
4,找到和结点对应的记录值 .
5,返回结点层数
伪代码如下:
// T结点,L当前层,value,结点值
//返回-1:没有找到,0-n:对应层
int get_node_layer(T *node,int value ,int L)
{int i=-1;
if(node)
{
if(node->value ==value)
return L;
if(i = get_node_layer(node->left,value ,L+1)!=-1) //查左子树,如找到就返回
return i; /
if(i = get_node_layer(node->right,value ,L+1)!=-1)//查右子树,如找到就返回
return i;
}
return i;
}