python

超轻量级php框架startmvc

基于python二叉树的构造和打印例子

更新时间:2020-07-22 22:30:01 作者:startmvc
写在最前面:带你从最简单的二叉树构造开始,深入理解二叉树的数据结构,ps:不会数据结

写在最前面:

带你从最简单的二叉树构造开始,深入理解二叉树的数据结构,ps:不会数据结构的程序猿只能是三流的

首先,我们构造一个二叉树

这是最标准,也是最简单的二叉树构造方法


'''
树的构建:
 3
 9 20
 15 7
'''


class Tree():
 '树的实现'
 def __init__(self,data,left = 0,right = 0):
 self.left = left
 self.right = right
 self.data = data

 def __str__(self):
 return str(self.data)
# test tree


tree1 = Tree(data=15)
tree2 = Tree(data=7)
tree3 = Tree(20,tree1,tree2)
tree4 = Tree(data=9)
base = Tree(3,tree4,tree3)

这里我们需要定义二叉树的根,左右节点,然后构造节点之间的关系

打印二叉树函数


def function(root):
 A = []
 result = []
 if not root:
 return result
 A.append(root)
 while A:
 current_root = A.pop(0)
 result.append(current_root.data)
 if current_root.left:
 A.append(current_root.left)
 if current_root.right:
 A.append(current_root.right)
 print(result)
 return result

调用函数以及放入构造好的二叉树


function(base)

输出如下:


[3, 9, 20, 15, 7]

Process finished with exit code 0

最近事情实在是太多,真的是每天人都很累,还是坚持每天更新一点,已经快要强迫症了。

以上这篇基于python二叉树的构造和打印例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python 二叉树 构造 打印