讲解一下基于python语言的二叉树的创建和查询
时间: 2024-05-01 13:17:29 浏览: 12
二叉树是一种特殊的树结构,每个节点最多可以拥有两个子节点,分别称为左子节点和右子节点。基于Python语言的二叉树的创建和查询可以通过如下方式实现:
1. 创建二叉树
可以使用Python的类来表示二叉树的节点和其关系,下面是一个示例代码:
```
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def insert(root, val):
if root is None:
return Node(val)
if val < root.val:
root.left = insert(root.left, val)
else:
root.right = insert(root.right, val)
return root
root = None
values = [5,8,3,4,9,7,1]
for val in values:
root = insert(root, val)
```
上述代码中,我们定义了一个Node类表示二叉树节点,并定义了一个insert函数来插入新的节点到二叉树中。在这个示例中,我们以[5,8,3,4,9,7,1]为例定义一棵二叉树。
2. 查询节点
查询节点可以通过二叉树中序遍历的方式实现,下面是一个示例代码:
```
def inorder(root):
if not root:
return
inorder(root.left)
print(root.val)
inorder(root.right)
inorder(root)
```
上述代码中,我们定义了一个inorder函数来进行中序遍历,即先遍历左子树,再遍历当前节点,最后遍历右子树。通过中序遍历,我们可以得到二叉树的所有节点,并按照从小到大的顺序排列。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)