По заданному бинарному дереву найдите максимальную сумму пути. Путь может начинаться и заканчиваться в любом узле дерева.
Пример:
Input: Root of below tree 1 / \ 2 3 Output: 6 See below diagram for another example. 1+2+3
Для каждого узла может быть четыре пути прохождения максимального пути через узел:
1. Узел только
2. Максимальный путь через левого ребенка + узел
3. Максимальный путь через Right Child + Node
4. Максимальный путь через левого ребенка + узел + Максимальный путь через правого ребенка
Идея состоит в том, чтобы отслеживать четыре пути и в конце выбрать максимальный. Важно отметить, что корень каждого поддерева должен возвращать максимальную сумму пути, чтобы в нем участвовал не более одного дочернего элемента root. Это необходимо для вызова родительской функции. В приведенном ниже коде эта сумма сохраняется в max_single и возвращается рекурсивной функцией.
|
Джава
|
питон
|
C #
|
Выход:
Max path sum is 42
Сложность времени: O (n), где n — количество узлов в двоичном дереве.
Эта статья предоставлена Анмолом Варшни (профиль FB: https://www.facebook.com/anmolvarshney695 ). Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме
Рекомендуемые посты:
- Найти максимальную сумму пути между двумя листьями двоичного дерева
- Найти максимальную сумму листа к корневому пути в двоичном дереве
- Максимальное последовательное увеличение длины пути в двоичном дереве
- Минимальный и максимальный узел, который лежит на пути, соединяющем два узла в двоичном дереве
- XOR пути между любыми двумя узлами в двоичном дереве
- Максимальное значение XOR с данным значением в пути от корня к данному узлу в дереве
- Самый длинный путь с одинаковыми значениями в двоичном дереве
- Путь минимальной суммы между двумя листьями двоичного дерева
- Печатать путь между любыми двумя узлами в двоичном дереве | Набор 2
- Печатать путь между любыми двумя узлами в двоичном дереве
- Печатать путь от корня до заданного узла в двоичном дереве
- Сортировать путь от корня до заданного узла в двоичном дереве
- Кратчайший путь между двумя узлами в массиве, как представление двоичного дерева
- Выведите первый кратчайший путь от корня к листу в двоичном дереве
- Печатать путь от корня ко всем узлам в полном двоичном дереве
0.00 (0%) 0 votes