这是我到目前为止的代码,它只是找到了整棵树的深度。如何才能找到一个节点值(项目)的深度?
Template <typename T>
int stree<t>::nodeLevel(const T& item)
{
int depthLeft, depthRight, depthval;
if (t==NULL)
depthval = -1;
else
{
depthLeft = depth(t->left);
depthRight = depth(t->right);
depthval = 1+(depthLeft > depthRight ? DepthLeft : depthRight);
}
return depthval;
}
答案 0 :(得分:0)
您可以在遍历树时计算深度。如果从深度为0或1的顶部(根节点)开始(取决于您对基数的真实定义),则每次必须向下移动到左或右节点时,增加深度计数,每次移回特定节点父节点时递减。