二叉树左右链表示法代码
时间: 2024-10-15 07:11:53 浏览: 30
二叉树的左右链表示法,也称为双亲表示法或者孩子链表表示法,是一种常见的二叉树存储结构。在这种表示中,每个节点除了包含左孩子指针和右孩子指针外,还额外添加了一个指向其父节点的指针。下面是一个简单的Python示例,展示了如何创建和遍历这种类型的二叉树:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None, parent=None):
self.val = val
self.left = left
self.right = right
self.parent = parent
# 创建节点
root = TreeNode(1)
node2 = TreeNode(2, parent=root)
node3 = TreeNode(3, parent=root)
node4 = TreeNode(4, parent=node2)
node5 = TreeNode(5, parent=node2)
# 遍历二叉树
def inorder_traversal(node, print_val=True):
if node is not None:
inorder_traversal(node.left, print_val)
if print_val:
print(f"Value: {node.val}", end=" -> ")
inorder_traversal(node.right, print_val)
inorder_traversal(root) # 输出:Value: 1 -> Value: 2 -> Value: 4 -> Value: 5 -> Value: 3
```
在这个例子中,`parent`属性用于连接每个节点与其父节点。遍历函数采用递归的方式实现了中序遍历。
阅读全文