Я собираюсь выйти прямо и сказать, что я не величайший математик в мире: 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: В ветке нет ссылок на то, кто это дети, но дети знают, кто их родители.
Пожалуйста, если что-то неясно, спросите, и я постараюсь объяснить проблему лучше.
Буду признателен за любую помощь.