![enter image description here](https://i.stack.imgur.com/i6syV.png)
Я хочу вычислить сумму дочерних узлов и сохранить ее на родительском узле. Как показано на рисунке синие цифры - сумма детей.
Я пробовал это до сих пор:
const tree = {
name:"Root Node",
value:0,
sumOfTheChildren:0,
children: [
{
name:"A Node",
value:10,
sumOfTheChildren:0,
children:[]
},
{
name:"B Node",
value:10,
sumOfTheChildren:0,
children:[]
}
]
}
and so on ....
Итак, в sumOfTheChildren
каждого узла я хочу вычислить сумму дочерних элементов (всех узлов-потомков)
, поэтому я Я пытаюсь сделать post-order tree traversal
, как это.
let sum = 0;
function postOrder(root) {
if (root == null) return;
root.children.forEach((el) =>{
postOrder(el);
});
sum+=root.value;
// Here i am not sure how to do this
root.sumOfTheChildren+=root.value;
}
postOrder(tree);
Но это не дает требуемого результата. Итак, как мне получить правильную сумму?