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


Posted in Python onAugust 09, 2019

写在最前面:

带你从最简单的二叉树构造开始,深入理解二叉树的数据结构,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 相关文章推荐
Django框架中的对象列表视图使用示例
Jul 21 Python
python字典键值对的添加和遍历方法
Sep 11 Python
Python函数式编程
Jul 20 Python
numpy返回array中元素的index方法
Jun 27 Python
Python常用特殊方法实例总结
Mar 22 Python
Python3+Appium安装使用教程
Jul 05 Python
tensorboard实现同时显示训练曲线和测试曲线
Jan 21 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
Feb 29 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
Python 如何查找特定类型文件
Aug 17 Python
pytorch 中nn.Dropout的使用说明
May 20 Python
详解MindSpore自定义模型损失函数
Jun 30 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 #Python
Django ORM 自定义 char 类型字段解析
Aug 09 #Python
解决使用export_graphviz可视化树报错的问题
Aug 09 #Python
Django中自定义admin Xadmin的实现代码
Aug 09 #Python
python输出决策树图形的例子
Aug 09 #Python
Python实现决策树并且使用Graphviz可视化的例子
Aug 09 #Python
Django ORM 常用字段与不常用字段汇总
Aug 09 #Python
You might like
一个php作的文本留言本的例子(四)
2006/10/09 PHP
php 正则 过滤html 的超链接
2009/06/02 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
JavaScript 对象、函数和继承
2009/07/07 Javascript
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
2021/02/23 Vue.js
Python使用Paramiko模块编写脚本进行远程服务器操作
2016/05/05 Python
python程序封装为win32服务的方法
2021/03/07 Python
详解python编译器和解释器的区别
2019/06/24 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
自主招生自荐信格式
2013/12/03 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
留学生求职信
2014/06/03 职场文书
2014最新开业庆典策划方案(5篇)
2014/09/15 职场文书
销售人员工作自我评价
2014/09/21 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
领导批评与自我批评范文
2014/10/16 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
中学团支部工作总结
2015/08/13 职场文书
高效课堂教学反思
2016/02/24 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
Python turtle编写简单的球类小游戏
2022/03/31 Python