我知道如何递归地计算二叉树的深度,但是我不确定我知道计算任何节点n可能有k个子节点的通用树的深度的最佳方法。我想我已经在下面实施了正确的解决方案,但我想知道它是否可以以任何方式进行优化?
def depth_binary(node):
if node == None:
return 0
return max(depth(node.left),depth(node.right)) + 1
def depth_tree(node):
if node == None:
return 0
max_val = 0
for n in node.adjacent:
d = depth_tree(n)
if d > max_val:
max_val = d
return max_val + 1