请为序列{10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160}建立一棵23树。给出具体代码,保证代码正确运行
时间: 2024-11-20 13:55:16 浏览: 4
创建一颗二叉搜索树(BST),也被称为23树,通常是一个递归过程,每个节点的值大于其左子树所有节点的值,小于其右子树所有节点的值。对于给定的序列,我们可以按照插入排序的方式构建BST。这里我会提供一个Python的示例代码:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def insert_into_bst(root, val):
if not root:
return TreeNode(val)
elif val < root.val:
root.left = insert_into_bst(root.left, val)
else:
root.right = insert_into_bst(root.right, val)
return root
# 序列
values = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160]
# 创建根节点,并逐个插入元素
root = None
for value in values:
root = insert_into_bst(root, value)
# 现在 root 就是我们需要的23树的根节点
```
上述代码首先定义了一个简单的`TreeNode`类表示二叉搜索树的节点。然后,`insert_into_bst`函数递归地将新值插入到正确的子树中。最后,我们遍历给定的序列并依次插入节点。
阅读全文