在二叉树中找到节点的深度而不是BST

时间:2011-11-23 18:32:29

标签: java algorithm data-structures tree

我有一个不是bst的二叉树,我需要找到该二叉树中节点的深度 除了水平顺序遍历之外,还有其他任何方法可以使用一些稀释计来维持水平计数。

作为输入,我有树的根节点和树的节点之一,我需要找到深度。

我希望有一些递归方式来找到这个

3 个答案:

答案 0 :(得分:2)

如果你不想做BFS,你可以做一个DFS(你也可以递归)。

答案 1 :(得分:1)

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)

答案 2 :(得分:0)

尝试在递归函数中传递一个额外的参数来指示深度。