基于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 相关文章推荐
详解python上传文件和字符到PHP服务器
Nov 24 Python
Python numpy生成矩阵、串联矩阵代码分享
Dec 04 Python
简单了解python模块概念
Jan 11 Python
Django rest framework实现分页的示例
May 24 Python
关于python2 csv写入空白行的问题
Jun 22 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
详解python中index()、find()方法
Aug 29 Python
Python爬取知乎图片代码实现解析
Sep 17 Python
python实现统计代码行数的小工具
Sep 19 Python
pytorch::Dataloader中的迭代器和生成器应用详解
Jan 03 Python
tensorflow mnist 数据加载实现并画图效果
Feb 05 Python
python实现三次密码验证的示例
Apr 29 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获取文件名后缀
2013/06/09 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
jquery实现的鼠标拖动排序Li或Table
2014/05/04 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
2018/07/23 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
vue+element UI实现树形表格
2020/12/29 Vue.js
python 生成目录树及显示文件大小的代码
2009/07/23 Python
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
Python配置文件处理的方法教程
2019/08/29 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
护士实习自我鉴定
2013/10/22 职场文书
实习生个人找工作的自我评价
2013/10/30 职场文书
工程招投标邀请书
2014/01/26 职场文书
2016暑期校本培训心得体会
2016/01/08 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫
讲解Python实例练习逆序输出字符串
2022/05/06 Python
源码安装apache脚本部署过程详解
2022/09/23 Servers