我需要帮助使用两个列表创建二叉树 一个代表树中的叶子,一个代表树叶 树中的内部节点,
输入:
cough
/ \
sneezing sneezing
/ \ / \
fever fever fever fever
/ \ / \ / \ / \
dead cold influenza cold dead influenza cold healthy
输出:(只是这样的根树不能像这样打印)
def buildtree(childs_in_tree,leafs):
if len(leafs)==0:
return Node(childs_in_tree[0])
else:
left=buildtree(childs_in_tree+[leafs[0]],leafs[1:])
right=buildtree(childs_in_tree,leafs[1:])
root=Node(childs_in_tree[0],right,left)
return root
不需要打印这个只是为了返回这样的根而不是打印这个形状只是像这样的节点需要...
我的尝试但不适合我:
class Node:
def __init__(self, data="", pos=None, neg=None):
self.data = data
self.positive_child = pos
self.negative_child = neg
使用以下节点的类:
print
如果有什么不清楚,请不要犹豫,谢谢。