Учитывая, что двоичное дерево и два узла говорят «a» и «b», определите, являются ли два узла кузенами друг друга или нет.
Два узла являются двоюродными братьями друг друга, если они находятся на одном уровне и имеют разных родителей.
Пример:
6 / \ 3 5 / \ / \ 7 8 1 3 Say two node be 7 and 1, result is TRUE. Say two nodes are 3 and 5, result is FALSE. Say two nodes are 7 and 5, result is FALSE.
Идея состоит в том, чтобы найти уровень одного из узлов. Используя найденный уровень, проверьте, находятся ли «a» и «b» на этом уровне. Если «a» и «b» находятся на заданном уровне, то, наконец, проверьте, не являются ли они потомками одного и того же родителя.
Ниже приводится реализация вышеуказанного подхода.
|
Джава
|
питон
|
C #
|
Выход:
Yes
Сложность по времени вышеупомянутого решения — O (n), поскольку это делает самое большее три обхода двоичного дерева.
Проверьте, являются ли два узла двоюродными братьями в двоичном дереве | Set-2
Эта статья предоставлена Аюшем Шриваставой . Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме
Рекомендуемые посты:
- Проверьте, являются ли два узла двоюродными братьями в двоичном дереве | Set-2
- Сумма двоюродных братьев данного узла в двоичном дереве
- Печать двоюродных братьев данного узла в двоичном дереве
- Печать двоюродных братьев данного узла в двоичном дереве | Одиночный обход
- Проверьте, являются ли два узла в двоичном дереве братьями и сестрами
- Проверка суммы покрытых и непокрытых узлов двоичного дерева
- Проверьте, является ли двоичное дерево полным двоичным деревом или нет | Итеративный подход
- Сумма всех узлов в двоичном дереве
- Сумма всех граничных узлов двоичного дерева
- Сумма всех листовых узлов двоичного дерева
- Нечетные узлы в бинарном дереве
- Сумма узлов в правом представлении данного двоичного дерева
- XOR пути между любыми двумя узлами в двоичном дереве
- Раковина четных узлов в двоичном дереве
- Сумма узлов в виде сверху двоичного дерева
0.00 (0%) 0 votes