创建一棵用二叉链表方式存储的二叉树,并求它的高度。的代码
时间: 2023-06-03 09:02:25 浏览: 93
在 Python 语言中,可以使用如下代码创建一个二叉树,并求出它的高度:
```python
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def createBinaryTree(arr, root, i, n):
if i < n:
root = Node(arr[i])
root.left = createBinaryTree(arr, root.left, 2*i+1, n)
root.right = createBinaryTree(arr, root.right, 2*i+2, n)
return root
def getHeight(root):
if root is None:
return 0
else:
return max(getHeight(root.left), getHeight(root.right)) + 1
arr = [1, 2, 3, 4, 5, 6, 7]
root = None
root = createBinaryTree(arr, root, 0, len(arr))
print("Height of binary tree:", getHeight(root))
```
这里我们定义了一个 Node 类来表示二叉树的节点,其中包括节点的值 val,以及左右子节点 left 和 right。我们使用递归的方式来创建二叉树,利用数组 arr 以及数组下标 i 和数组的长度 n,来逐个创建节点和连接左右子节点。最后我们定义了一个 getHeight 函数,通过递归计算树的高度。在上面的示例中,我们创建了一棵深度为 3,包含 7 个节点的二叉树,并打印出了它的高度 3。
阅读全文