【发布时间】:2009-12-04 07:39:45
【问题描述】:
我要站出来说我不是世界上最伟大的数学家 :D 所以这个问题对你们大多数人来说可能很简单。不幸的是,这让我感到困惑,并且已经尝试了几个可行的解决方案。
与任何一棵树一样,一棵树可以有许多分支,许多分支可以有更多分支,依此类推,直到它们以叶节点结束。我有每片叶子的信息表明它的价值。
我需要明确说明如何解决将每个叶节点值汇总为其分支(父节点)的总和并对其余部分执行相同操作但不要忘记分支是否由其他分支共享的问题就是每个与自身直接相关的下层分支和叶子的汇总。
为了更好地解释:
Root
|----Branch
| |-Leaf 10
|----Branch
| |----Branch
| |-Leaf 20 |-Leaf 30
|----Branch |-Leaf 40
| |----Branch
| |----Branch
| |----Leaf 50
|-Leaf 60
目标:
Root 210
|----Branch 10
| |-Leaf 10
|----Branch 90
| |----Branch 70
| |-Leaf 20 |-Leaf 30
|----Branch 50 |-Leaf 40
| |----Branch 50
| |----Branch 50
| |----Leaf 50
|-Leaf 60
我能够识别最低级别的成员(叶节点)、根节点和分支本身。我无法确定该分支是否有其他分支链接到自身较低或直接链接到叶节点。这种关系非常自下而上。 IE:分支没有提及它的孩子是谁,但孩子知道父母是谁。
如果有不清楚的地方,请询问,我会尝试更好地解释问题。
任何帮助将不胜感激。
【问题讨论】:
-
这对我来说是一个独立于语言的问题,更多的是对如何正确解决问题的理解。不过,我目前确实在 C# 中工作;-)
标签: recursion tree hierarchical-trees