Java 在递归方法中执行附加计算

Java 在递归方法中执行附加计算,java,recursion,Java,Recursion,我编写了一个方法,使用递归计算二叉搜索树中节点的总深度。有没有办法用同样的方法计算BST的平均深度 这是实际的方法 public int getTotalDepth(Node<T> rootNode, int depth) { if(rootNode==null) { return 0; } return depth + getTotalDepth(rootNode.left, dept

我编写了一个方法,使用递归计算二叉搜索树中节点的总深度。有没有办法用同样的方法计算BST的平均深度

这是实际的方法

public int getTotalDepth(Node<T> rootNode, int depth)
    {
        if(rootNode==null)
        {
            return 0;
        }

        return depth + getTotalDepth(rootNode.left, depth+1) + getTotalDepth(rootNode.right, depth+1);
    }
public int gettotalepth(Node rootNode,int depth)
{
if(rootNode==null)
{
返回0;
}
返回depth+gettotalepth(rootNode.left,depth+1)+gettotalepth(rootNode.right,depth+1);
}

总深度的定义是所有节点深度的总和,而不仅仅是叶节点?六羟甲基三聚氰胺六甲醚。。。。。无论如何,平均值的正常公式是
average=total/count
,所以如果您有另一种递归方法来计算所有节点的“count”,那么您就有了所需的。除非你绝对需要一个递归方法同时计算两者,但为什么不将它们分开?@Andreas我需要用一个方法来实现这一点。然后你需要一个有两个字段的对象,这样一个返回值(对象)可以携带两个值。