Глубина узла в бинарном дереве (Java) - PullRequest
1 голос
/ 07 апреля 2020

Глубина узла - это количество ребер от root до этого узла, верно? Но как найти его методом, подобным findDepth (узел узла) в java?

Ответы [ 2 ]

0 голосов
/ 07 апреля 2020

Итак, основываясь на этом ответе, уже в stackOverflow, вы можете сделать следующее:

int findDepth(Node node) {
    if (aNode == null) {
         return -1;
    }

    int lefth = findHeight(node.left);
    int righth = findHeight(node.right);

    if (lefth > righth) {
        return lefth + 1;
    } else {
        return righth + 1;
    }
}
0 голосов
/ 07 апреля 2020

Это простое упражнение по рекурсии. Реализуйте это рекурсивно.

findDepth(Node node)

В коде функции / метода findDepth сделайте это:
1) если у узла есть родительский возврат 1 + findDepth(parent)
2), если узел не имеет родителя (то есть root) return 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...