基于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使用win32com库播放mp3文件的方法
May 30 Python
python利用正则表达式提取字符串
Dec 08 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
Python3实现的字典、列表和json对象互转功能示例
May 22 Python
Python键盘输入转换为列表的实例
Jun 23 Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 Python
Python 做曲线拟合和求积分的方法
Dec 29 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
Apr 25 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
Feb 06 Python
python上下文管理器异常问题解决方法
Feb 07 Python
给numpy.array增加维度的超简单方法
Jun 02 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
Jun 11 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
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
瀑布流的实现方式(原生js+jquery+css3)
2020/06/28 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
python实现的登录和操作开心网脚本分享
2014/07/09 Python
python实现自动更换ip的方法
2015/05/05 Python
详解django中自定义标签和过滤器
2017/07/03 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
基于python图像处理API的使用示例
2020/04/03 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
python脚本第一行如何写
2020/08/30 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
销售团队口号大全
2014/06/06 职场文书
车贷收入证明范本
2014/09/14 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
Python字符串对齐方法使用(ljust()、rjust()和center())
2021/04/26 Python
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript