程序来源于: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)