python二叉树的插入
时间: 2023-10-12 21:10:42 浏览: 47
二叉树的插入操作需要先找到插入位置,然后将新节点插入到该位置。具体实现如下:
```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)
return
queue = [self.root]
while queue:
node = queue.pop(0)
if not node.left:
node.left = Node(val)
return
elif not node.right:
node.right = Node(val)
return
else:
queue.append(node.left)
queue.append(node.right)
```
以上代码实现了二叉树的插入操作。首先判断根节点是否存在,如果不存在,则将新节点作为根节点。如果根节点存在,则从根节点开始遍历二叉树,直到找到一个没有左子节点或右子节点的节点,将新节点插入到该位置。如果所有节点都有左右子节点,则将新节点插入到队列中下一层的左子节点。