红黑树怎样直接获取树的深度
时间: 2023-07-23 16:08:27 浏览: 67
红黑树的深度指的是根节点到最远叶子节点的距离,也可以称为树的高度。可以通过递归方式来获取红黑树的深度:
1. 如果根节点为空,则树的深度为0。
2. 否则,分别递归计算左子树和右子树的深度,取其中较大值加1即为树的深度。
以下是一个示例代码实现:
```python
class Node:
def __init__(self, val, color='red', left=None, right=None):
self.val = val
self.color = color
self.left = left
self.right = right
def getDepth(node):
if not node:
return 0
leftDepth = getDepth(node.left)
rightDepth = getDepth(node.right)
return max(leftDepth, rightDepth) + 1
```
其中 `Node` 是红黑树的节点类,`getDepth` 是获取深度的函数。我们可以先判断当前节点是否为空,如果为空则返回0,否则递归计算左子树和右子树的深度,最后返回较大值加1。
阅读全文