基于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的字典和列表的使用中一些需要注意的地方
Apr 24 Python
解决uWSGI的编码问题详解
Mar 24 Python
python基础练习之几个简单的游戏
Nov 10 Python
python批量替换多文件字符串问题详解
Apr 22 Python
关于python2 csv写入空白行的问题
Jun 22 Python
python for和else语句趣谈
Jul 02 Python
python 环境搭建 及python-3.4.4的下载和安装过程
Jul 20 Python
简单易懂Pytorch实战实例VGG深度网络
Aug 27 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
python批量替换文件名中的共同字符实例
Mar 05 Python
Python绘制数码晶体管日期
Feb 19 Python
Django中的JWT身份验证的实现
May 07 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
实用函数9
2007/11/08 PHP
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
php实现可逆加密的方法
2015/08/11 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
tp5.1 框架数据库-数据集操作实例分析
2020/05/26 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
2010/01/08 Javascript
关于JavaScript中string 的replace
2013/04/12 Javascript
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
js实现点击上传图片并设为模糊背景
2020/08/02 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
JavaScript实现表单验证功能
2020/12/09 Javascript
Python中生成器和yield语句的用法详解
2015/04/17 Python
Python中的rjust()方法使用详解
2015/05/19 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
django认证系统 Authentication使用详解
2019/07/22 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
Python高并发和多线程有什么关系
2020/11/14 Python
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
2014年五四青年节活动方案
2014/03/29 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android
Spring Boot实现文件上传下载
2022/08/14 Java/Android