树节点结构示例(Tree Node)
作者:野牛程序员:2025-12-22 11:45:02python阅读 2106
树节点结构示例(Tree Node)
# /*
# 树节点结构示例(Tree Node)
# --------------------------------------------------------
# 概念:
# 树(Tree)是一种非线性结构,由若干“节点 Node”组成。
# 每个节点包含:
# 1) 数据(value)
# 2) 若干子节点(children)
#
# 常见场景:
# - 文件目录结构
# - 组织结构图
# - 游戏 AI 决策树
# - 前缀树、二叉树等多种树结构
#
# 以下示例实现一个通用树节点,可添加子节点并层级打印。
# */
# 树节点定义
class TreeNode:
def __init__(self, value):
self.value = value
self.children = [] # 存放子节点
# 添加子节点
def add_child(self, node):
self.children.append(node)
# 打印树结构(递归)
def display(self, level=0):
print(" " * level + str(self.value))
for child in self.children:
child.display(level + 1)
# --------------------------------------------------------
# 构建示例树结构
root = TreeNode("Root")
child_a = TreeNode("A")
child_b = TreeNode("B")
child_c = TreeNode("C")
root.add_child(child_a)
root.add_child(child_b)
root.add_child(child_c)
child_a.add_child(TreeNode("A1"))
child_a.add_child(TreeNode("A2"))
child_b.add_child(TreeNode("B1"))
child_c.add_child(TreeNode("C1"))
child_c.add_child(TreeNode("C2"))
# 打印树结构
print("树结构:")
root.display()
# --------------------------------------------------------
# 要点总结:
# 1) 树节点包含 value 与 children 列表;
# 2) 每个节点可拥有 0~N 个子节点;
# 3) 结构层级清晰,适合表现上下级关系;
# 4) 递归遍历是树结构最常见的处理方式;
# 5) 可在此基础上扩展为二叉树、前缀树、多路树等;
# 6) 树适合用于层次结构数据的表达与搜索。
# */
# 树结构:
# Root
# A
# A1
# A2
# B
# B1
# C
# C1
# C2野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

