基于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中stdout输出不缓存的设置方法
May 29 Python
浅谈function(函数)中的动态参数
Apr 30 Python
Python爬虫之xlml解析库(全面了解)
Aug 08 Python
python虚拟环境的安装配置图文教程
Oct 20 Python
Python实现线程状态监测简单示例
Mar 28 Python
基于python中theano库的线性回归
Aug 31 Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 Python
python生成九宫格图片
Nov 19 Python
python画图的函数用法以及技巧
Jun 28 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
用python实现学生管理系统
Jul 24 Python
Python中的 Set 与 dict
Mar 13 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
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
转换字符串为json对象的方法详解
2013/11/29 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
nodejs分页类代码分享
2014/06/17 NodeJs
浅谈js和css内联外联注意事项
2016/06/30 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
详解Python装饰器由浅入深
2016/12/09 Python
回调函数的意义以及python实现实例
2017/06/20 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python中断多重循环的思路总结
2019/10/04 Python
django 装饰器 检测登录状态操作
2020/07/02 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
美国现代家具购物网站:LexMod
2019/01/09 全球购物
宾馆总经理岗位职责
2014/02/14 职场文书
会议欢迎标语
2014/06/30 职场文书
初中学习计划书范文
2014/09/15 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书