Python中的树形数据结构: K叉树
K叉树是一种树形数据结构,每个节点最多可以有k个子节点。在Python中,可以使用类和列表来实现K叉树的数据结构。
以下是一个基本的K叉树节点类示例代码:
class KTreeNode: def __init__(self, val): self.val = val self.children = [None] * k
该类有一个值val,以及一个长度为k的子节点列表children,每个子节点可以是另一个KTreeNode实例或None。可以使用以下方式向该节点添加子节点:
node.children[i] = KTreeNode(child_value)
以下是一个简单的K叉树示例代码:
k = 3 # 设置k值为3 class KTreeNode: def __init__(self, val): self.val = val self.children = [None] * k root = KTreeNode('root') root.children[0] = KTreeNode('A') root.children[1] = KTreeNode('B') root.children[2] = KTreeNode('C') root.children[0].children[0] = KTreeNode('D') root.children[0].children[1] = KTreeNode('E') root.children[1].children[0] = KTreeNode('F') root.children[1].children[1] = KTreeNode('G') root.children[2].children[0] = KTreeNode('H') root.children[2].children[1] = KTreeNode('I') print(root.val) print(root.children[0].val) print(root.children[0].children[0].val)
该示例创建了一个k值为3的K叉树,节点值为字符串。输出为:
root A D
这个树的形状如下:
root / | \ A B C / \ / \ / \ D E F G H I
相关文章