二叉树基本遍历:中序遍历(Inorder Traversal)
作者:野牛程序员:2025-12-22 11:32:55python阅读 2094
二叉树基本遍历:中序遍历(Inorder Traversal)
# /*
# 二叉树基本遍历:中序遍历(Inorder Traversal)
# --------------------------------------------------------
# 定义:
# 中序遍历的访问顺序为:
# 左子树 → 根节点 → 右子树
#
# 特点:
# - 二叉搜索树(BST)中序遍历结果为从小到大的有序序列
# - 常用于有序数据输出、搜索算法等场景
#
# 以下示例实现:
# 1) 二叉树节点结构
# 2) 中序遍历(递归版本)
# */
# 二叉树节点定义
class TreeNode:
def __init__(self, value):
self.value = value
self.left = None # 左子节点
self.right = None # 右子节点
# 中序遍历(递归)
def inorder(node):
if node is None:
return
inorder(node.left) # 遍历左子树
print(node.value, end=" ") # 访问根节点
inorder(node.right) # 遍历右子树
# --------------------------------------------------------
# 构建示例二叉树
# A
# / \
# B C
# / \
# D E
root = TreeNode("A")
root.left = TreeNode("B")
root.right = TreeNode("C")
root.left.left = TreeNode("D")
root.left.right = TreeNode("E")
print("中序遍历结果:", end="")
inorder(root)
print()
# --------------------------------------------------------
# 要点总结:
# 1) 中序遍历:左 → 根 → 右;
# 2) 二叉搜索树的中序遍历可得到有序序列;
# 3) 结构简单,递归写法最常用;
# 4) 同样可扩展为非递归版本(基于栈实现);
# 5) 是前序、后序遍历之外的核心遍历方式之一。
# */
# 中序遍历结果:D B E A C野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

