帮我用python写一个二叉树结构,一个结点有两个data域,并且左右子树与这个data域相关
时间: 2024-05-13 12:21:08 浏览: 104
好的,我可以帮您用Python写一个二叉树结构。您可以参考以下代码:
```python
class BinaryTreeNode:
def __init__(self, data1, data2):
self.data1 = data1
self.data2 = data2
self.left = None
self.right = None
def insert_node(root, data1, data2):
if root is None:
root = BinaryTreeNode(data1, data2)
else:
if data1 < root.data1:
root.left = insert_node(root.left, data1, data2)
else:
root.right = insert_node(root.right, data1, data2)
return root
```
这段代码定义了一个BinaryTreeNode类,每个结点有两个data域data1和data2,以及左右子树left和right。insert_node函数可以向二叉树中插入新结点。它接受三个参数:root表示二叉树的根结点,data1和data2表示要插入的两个data域。如果root为空,就创建一个新的根结点,否则根据data1的值和根结点的data1进行比较,将新结点插入左子树或右子树。最后返回root。
阅读全文