编写一个分叉图可以使用图的表示方式来实现。下面是一个用Python编写的示例代码:
class Node:
def __init__(self, name):
self.name = name
self.children = []
def add_child(self, child):
self.children.append(child)
def __str__(self):
return self.name
def print_forking_tree(node, level=0):
if level > 0:
print("|", end="")
for _ in range(level - 1):
print(" ", end="")
print("|--", end="")
print(node)
for child in node.children:
print_forking_tree(child, level + 1)
# 创建节点
root = Node("Root")
child1 = Node("Child 1")
child2 = Node("Child 2")
child3 = Node("Child 3")
child1.add_child(Node("Grandchild 1"))
child1.add_child(Node("Grandchild 2"))
child2.add_child(Node("Grandchild 3"))
child3.add_child(Node("Grandchild 4"))
child3.add_child(Node("Grandchild 5"))
# 构建分叉图关系
root.add_child(child1)
root.add_child(child2)
root.add_child(child3)
# 打印分叉图
print_forking_tree(root)
这个示例代码中,首先定义了一个Node
类,表示每个节点。每个节点包含一个名称和一个子节点列表。add_child
方法用于添加子节点。__str__
方法返回节点的名称,方便打印节点。
然后,定义了一个print_forking_tree
函数,用于递归打印分叉图。该函数接收一个节点和一个级别作为参数。在每个级别上,函数会根据级别打印相应数量的空格和分隔符(|
和|--
),然后打印节点的名称。然后,递归调用print_forking_tree
函数打印子节点。
最后,创建节点并构建分叉图关系。调用print_forking_tree
函数打印分叉图。运行代码,将输出以下结果:
Root
|--Child 1
| |--Grandchild 1
| |--Grandchild 2
|--Child 2
| |--Grandchild 3
|--Child 3
| |--Grandchild 4
| |--Grandchild 5
上一篇:编写一个非等距的dfs0文件。
下一篇:编写一个分阶段的数字猜测游戏。