二叉树链式存储结构代码
时间: 2024-11-19 15:16:53 浏览: 38
二叉树的链式存储结构通常采用两个指针,一个是数据域用于存储节点值,另一个是指向其左孩子的指针,第三个通常是右孩子指针。每个节点除了自身的数据,还包含指向下一个节点的引用。这种结构可以方便地进行插入、删除和遍历操作。
下面是一个简单的二叉搜索树的链式存储结构Python代码示例:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
# 插入节点
def insert(root, val):
if not root:
return TreeNode(val)
elif val < root.val:
root.left = insert(root.left, val)
else:
root.right = insert(root.right, val)
return root
# 删除节点 (这里仅简单实现删除根节点的情况)
def delete_node(root, key):
if not root:
return root
if root.val > key:
root.left = delete_node(root.left, key)
elif root.val < key:
root.right = delete_node(root.right, key)
else:
# 如果有两个子节点
if root.left and root.right:
temp = find_min(root.right)
root.val = temp.val
root.right = delete_node(root.right, temp.val)
# 如果只有一个子节点或无子节点
else:
temp = root.left if root.left else root.right
root = None if temp is None else temp
return root
```
阅读全文