Python 二叉搜索树的最大高度
我在做一个关于二进制搜索树的python问题,讲师写了一行这样的代码Python 二叉搜索树的最大高度,python,python-3.x,Python,Python 3.x,我在做一个关于二进制搜索树的python问题,讲师写了一行这样的代码 def getHeight(self, root): if not root: return -1 else: return (max(self.getHeight(root.right), self.getHeight(root.left)) + 1) 我不知道这是怎么回事。有人能解释一下为什么会这样吗?这是一种求BST高度的递归方法 return (max(self.get
def getHeight(self, root):
if not root:
return -1
else:
return (max(self.getHeight(root.right), self.getHeight(root.left)) + 1)
我不知道这是怎么回事。有人能解释一下为什么会这样吗?这是一种求BST高度的递归方法
return (max(self.getHeight(root.right), self.getHeight(root.left)) + 1)
以上是基本条件,当到达节点叶节点的右节点或左节点时,函数返回-1
return语句可以简单地写为:
if not root:
return -1
递归地得到左子树和右子树的高度,然后将最大值加1,因为我们认为高度0的树具有1的高度,所以添加1。
您可以观看简单的教程。这是一种递归方法,用于查找BST的高度
return (max(self.getHeight(root.right), self.getHeight(root.left)) + 1)
以上是基本条件,当到达节点叶节点的右节点或左节点时,函数返回-1
return语句可以简单地写为:
if not root:
return -1
递归地得到左子树和右子树的高度,然后将最大值加1,因为我们认为高度0的树具有1的高度,所以添加1。
您可以观看简单的教程。您了解递归是如何工作的吗?或者您只对返回线有问题?递归新增“给定根的树的高度比其子树的最大根高度高一倍”。您了解递归是如何工作的吗?或者您只对返回线有问题?递归新增“具有给定根的树的高度比在其子树上根的子树的最大高度高一个。”