Python创建二进制树,其中包含叶子中的字符串列表和子项中的字符串列表

时间:2018-01-02 15:55:02

标签: python list tree binary-tree decision-tree

我需要帮助使用两个列表创建二叉树 一个代表树中的叶子,一个代表树叶 树中的内部节点,

输入:

                                      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

如果有什么不清楚,请不要犹豫,谢谢。

0 个答案:

没有答案