早上好,
我的数据结构是树。其中除根节点外的每个节点都具有属性-“相对于父节点的比例”。但是只有叶子有额外的属性'value'。我想做的是编写一个函数来计算树中所有节点的值。
例如,在下图中,它们将按如下方式计算:
value of b= 5*0.3 + 6*0.7 = 5.7;
value of c= 7*1 = 7;
value of d = 8*0.5+9*0.4+10*0.1=8.6;
value of a = 5.7*0.3+7*0.4+8.6*0.3=7.09;
我从数据结构的本质出发,假设这个设置节点值的函数应该是递归的。
如果python或python提供完整的函数描述,那么它将是完整的。
这是这棵树的图像:
现在,根据Srinivas的建议,我尝试了:
^{pr2}$但它给出了一个错误:TypeError:不支持*:“float”和“NoneType”的操作数类型。我想由于某种原因,它可以只做一个早午餐-a->;b->;e a->;b->;f,但不能去下一个。。。在
有一些初始代码会很好,但这是我的机会。在
这个行吗?在
说明:考虑一个类似于您所概述的结构。在
用根
answer(root)
调用answer函数。 它反过来调用b
,谁在e
上调用它。e
是返回其值的叶。然后f
。函数回溯到现在有值5.7
的b
。以此类推。。在相关问题 更多 >
编程相关推荐