任意输入一组数据作为二叉排序树中结点的键值,创建一棵二叉排序树,然后对给定的值进行查找的代码
时间: 2024-02-22 15:56:07 浏览: 32
好的,以下是创建二叉排序树并查找给定值的代码(使用 Python 实现):
```python
# 定义二叉排序树的结点
class TreeNode:
def __init__(self, val=None):
self.val = val
self.left = None
self.right = None
# 创建二叉排序树
def createBST(nums):
if not nums:
return None
root = TreeNode(nums[0])
for num in nums[1:]:
insertNode(root, num)
return root
# 插入结点
def insertNode(root, val):
if not root:
return TreeNode(val)
if val < root.val:
root.left = insertNode(root.left, val)
else:
root.right = insertNode(root.right, val)
return root
# 查找给定值
def searchBST(root, val):
if not root:
return None
if root.val == val:
return root
elif val < root.val:
return searchBST(root.left, val)
else:
return searchBST(root.right, val)
# 测试代码
nums = [5, 3, 7, 1, 4, 6, 8]
root = createBST(nums)
# 查找值为 4 的结点
node = searchBST(root, 4)
if node:
print(node.val)
else:
print("Not found.")
```
这段代码首先定义了二叉排序树的结点,并实现了创建二叉排序树、插入结点和查找给定值的函数。然后我们随便输入一组数据作为二叉排序树中结点的键值,创建一棵二叉排序树,并查找给定的值(这里是 4)。最终输出找到的结点的值或提示未找到。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)