Нахождение глубины узла в двоичном дереве не BST - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть двоичное дерево, а не bst, мне нужно найти глубину узла в этом двоичном дереве. Есть ли какой-либо другой способ достижения, кроме обхода порядка уровня, с использованием какого-либо разбавителя для учета количества уровней.1002 * В качестве входных данных у меня есть корневой узел дерева и один из узлов дерева, для которого мне нужно найти глубину.

Я хочу иметь рекурсивный способ найти это

Ответы [ 3 ]

2 голосов
/ 23 ноября 2011

Если вы не хотите делать BFS, вы можете сделать DFS (и вы также можете сделать это рекурсивно).

1 голос
/ 24 ноября 2011

псевдокод для функции DFS, первый вызов будет DFS(root).

DFS(node v, integer d)
  visited[v] = true
  depth[v] = d

  for each u such that u is adjacent to v
    if visited[u] == false
      DFS(u, d+1)
0 голосов
/ 24 ноября 2011

Попробуйте передать дополнительный параметр в вашей рекурсивной функции, чтобы указать глубину.

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