Algorithm 如何给出递归算法

Algorithm 如何给出递归算法,algorithm,recursion,binary-tree,Algorithm,Recursion,Binary Tree,给出一个递归算法btProd,它以二叉树作为输入,然后输出 二叉树中包含的数字的乘积。如果输入是null树,那么算法应该返回null 算法btProd(p) 要求:输入是一个树p 1:btProd(空)← 0 2:btProd(叶x)← x 3:btProd(节点L x R)← btProd(L)+x+btProd(R) 我会这样做,但我不确定这是否正确如评论中所述,产品是可交换的。因此,可以按任意顺序遍历树()。假设当您编写+x+时,您的意思是btProd(L)乘以btProd(R),那么您作

给出一个递归算法btProd,它以二叉树作为输入,然后输出 二叉树中包含的数字的乘积。如果输入是null树,那么算法应该返回null

算法btProd(p)

要求:输入是一个树p

1:btProd(空)← 0

2:btProd(叶x)← x

3:btProd(节点L x R)← btProd(L)+x+btProd(R)


我会这样做,但我不确定这是否正确

如评论中所述,产品是可交换的。因此,可以按任意顺序遍历树()。假设当您编写
+x+
时,您的意思是btProd(L)乘以btProd(R),那么您作为伪代码激发的递归似乎是正确的.

到目前为止您做了什么?因为乘法是可交换的,所以您可以按任何方式遍历树,并将所有节点相乘。请尝试一些步骤,并将您尝试的内容直接发布到问题本身。评论()是进行更新的错误位置。感谢@bicker的反馈