树的简单演示(python)

程序来源于:B站

课程:【Python】这可能是你见过的最简洁最没有废话的Python教程

网址:https://www.bilibili.com/video/av5236569/?p=15


#定义节点类

class Node(object):

    def __init__(self,index):

        self.index=index

        self.left_child=None

        self.right_child=None

#定义二叉树类

class BinaryTree(object):

    def __init__(self,root):

        self.root=root

    def pre_travel(self,node):

        if not node:

            return

        print(node.index)

        self.pre_travel(node.left_child)

        self.pre_travel(node.right_child)

node_dict={}

for i in range(10):

    node_dict[i]=Node(i)

node_dict[1].left_child=node_dict[2]

node_dict[1].right_child=node_dict[3]

node_dict[2].left_child=node_dict[5]

node_dict[2].right_child=node_dict[6]

node_dict[3].left_child=node_dict[7]

node_dict[7].left_child=node_dict[8]

node_dict[7].right_child=node_dict[9]

#构建树

tree=BinaryTree(node_dict[1])

#遍历树

tree.pre_travel(tree.root)


你可能感兴趣的:(树的简单演示(python))