Python二叉树代码
时间: 2023-11-05 20:26:26 浏览: 47
以下是一个简单的 Python 二叉树实现代码,包含节点类和树类:
```python
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
class BinaryTree:
def __init__(self):
self.root = None
def insert(self, val):
if not self.root:
self.root = Node(val)
else:
self._insert(val, self.root)
def _insert(self, val, cur_node):
if val < cur_node.val:
if not cur_node.left:
cur_node.left = Node(val)
else:
self._insert(val, cur_node.left)
elif val > cur_node.val:
if not cur_node.right:
cur_node.right = Node(val)
else:
self._insert(val, cur_node.right)
def search(self, val):
if not self.root:
return False
else:
return self._search(val, self.root)
def _search(self, val, cur_node):
if val == cur_node.val:
return True
elif val < cur_node.val and cur_node.left:
return self._search(val, cur_node.left)
elif val > cur_node.val and cur_node.right:
return self._search(val, cur_node.right)
return False
```
以上代码实现了二叉树的基本功能,包括插入节点和查找节点。你可以根据自己的需要修改代码来满足其他功能的需求。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)