【发布时间】:2011-11-24 18:08:33
【问题描述】:
我有一棵二叉树而不是 bst,我需要在二叉树中找到一个节点的深度 除了使用一些dilimeter来实现level order traversal之外还有其他方法可以实现level的计数。
作为输入,我有树的根节点和我需要找到深度的树的节点之一。
我想有一些递归的方法来找到这个
【问题讨论】:
标签: java algorithm data-structures tree
我有一棵二叉树而不是 bst,我需要在二叉树中找到一个节点的深度 除了使用一些dilimeter来实现level order traversal之外还有其他方法可以实现level的计数。
作为输入,我有树的根节点和我需要找到深度的树的节点之一。
我想有一些递归的方法来找到这个
【问题讨论】:
标签: java algorithm data-structures tree
如果您不想执行 BFS,您可以执行 DFS(您也可以递归执行)。
【讨论】:
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)
【讨论】:
尝试在递归函数中传递一个附加参数来指示深度。
【讨论】: