基于python二叉树的构造和打印例子
作者:请叫我算术嘉 时间:2023-05-16 15:35:45
写在最前面:
带你从最简单的二叉树构造开始,深入理解二叉树的数据结构,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
最近事情实在是太多,真的是每天人都很累,还是坚持每天更新一点,已经快要强迫症了。
来源:https://blog.csdn.net/ssjdoudou/article/details/83692895
标签:python,二叉树,构造,打印
0
投稿
猜你喜欢
Python pymongo模块用法示例
2022-05-23 20:00:21
Python使用自带的ConfigParser模块读写ini配置文件
2022-04-01 00:07:01
python实现动态规划算法的示例代码
2023-03-03 09:43:22
Python常用的内置序列结构(列表、元组、字典)学习笔记
2021-02-18 21:25:45
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2024-05-03 15:13:30
Python实现在线批量美颜功能过程解析
2023-10-27 10:38:34
一篇文章带你了解python标准库--sys模块
2022-04-25 10:21:37
python操作excel之xlwt与xlrd
2023-02-11 08:05:52
Python实现类似jQuery使用中的链式调用的示例
2021-09-20 00:16:55
Python识别html主要文本框过程解析
2023-11-09 01:31:52
HTTP请求 GET与POST方法的区别
2023-07-26 12:46:35
Python配置虚拟环境图文步骤
2023-10-13 01:37:40
Golang解析JSON遇到的坑及解决方法
2024-05-10 13:58:29
MySQL备份与恢复之热备(3)
2024-01-21 04:50:04
解决django model修改添加字段报错的问题
2021-06-18 12:06:38
python ftplib模块使用代码实例
2023-04-17 10:19:49
Mysql5.7定时备份的实现
2024-01-22 13:08:27
sqlserver 导出插入脚本代码
2024-01-26 22:39:18
彻底搞懂MySQL存储过程和函数
2024-01-24 10:48:52
webpack学习教程之publicPath路径问题详解
2023-07-16 06:09:52