python3实现二叉树的简单遍历(DLR 、LDR、LRD)
转自https://www.cnblogs.com/freeman818/p/7252041.html
https://www.cnblogs.com/lliuye/p/9143676.html
收藏学习
#构建二叉树
class Node:
def __init__(self,value=None,left=None,right=None):
self.value=value
self.left=left #左子树
self.right=right #右子树
#下面提到的遍历均先处理左树
def preTraverse(root):
'''
前序遍历DLR
'''
if root==None:
return
print(root.value)
preTraverse(root.left)
preTraverse(root.right)
def midTraverse(root):
'''
中序遍历LDR
'''
if root==None:
return
midTraverse(root.left)
print(root.value)
midTraverse(root.right)
def afterTraverse(root):
'''
后序遍历LRD
'''
if root==None:
return
afterTraverse(root.left)
afterTraverse(root.right)
print(root.value)
if __name__=='__main__':
root=Node('D',Node('B',Node('A'),Node('C')),Node('E',right=Node('G',Node('F'))))
print('前序遍历:')
preTraverse(root)
print('\n')
print('中序遍历:')
midTraverse(root)
print('\n')
print('后序遍历:')
afterTraverse(root)
print('\n')
已知后序遍历和中序遍历,就能确定前序遍历。
python3实现二叉树的简单遍历(DLR 、LDR、LRD)相关推荐
- 数据结构(3) 第三天 栈的应用:就近匹配/中缀表达式转后缀表达式 、树/二叉树的概念、二叉树的递归与非递归遍历(DLR LDR LRD)、递归求叶子节点数目/二叉树高度/二叉树拷贝和释放...
01 上节课回顾 受限的线性表 栈和队列的链式存储其实就是链表 但是不能任意操作 所以叫受限的线性表 02 栈的应用_就近匹配 案例1就近匹配: #include <stdio.h> in ...
- 面试题7: 二叉树基础知识 - 前序遍历(DLR), 中序遍历(LDR), 后续遍历(LRD) - Android 端递归实现
二叉树定义: /*** Author: Heynchy* Date: 2019/6/24* <p>* Introduce: 二叉树的定义*/ public class TreeNode i ...
- 【二叉树前/先序DLR中序LDR后序LRD遍历及镜像翻转,so esay~】
二叉树前/先序DLR中序LDR后序LRD遍历及镜像翻转 一.名词释义 二叉树的遍历方式,根据遍历根节点的顺序不同,分为三种:前序(先序)遍历(DLR).中序遍历(LDR).后序遍历(LRD). 1.前 ...
- 广度优先遍历类似于二叉树的_二叉树的各种遍历方法的简单解释
二叉树顾名思义,最多两个孩子. 一般规定一个二叉树,因为节点间有相互连接的原因,所以只要给定根节点,那么顺着寻找左孩子和右孩子便可以遍历到所有的节点,这就是遍历的直观解释. 而遍历分为深度遍历和广度遍 ...
- 一种二叉树非递归遍历的简单写法
一种二叉树非递归遍历的简单写法 目录 一种二叉树非递归遍历的简单写法 先序遍历 中序遍历 后序遍历 二叉树的遍历是数据结构中非常基础的一个知识点,也是面试手撕代码环节的一个常见题目.这个问题的递归写法 ...
- resultset不支持循环遍历_二叉树的各种遍历方法的简单解释
二叉树顾名思义,最多两个孩子. 一般规定一个二叉树,因为节点间有相互连接的原因,所以只要给定根节点,那么顺着寻找左孩子和右孩子便可以遍历到所有的节点,这就是遍历的直观解释. 而遍历分为深度遍历和广度遍 ...
- 二叉排序树遍历二叉树打印简单图书管理系统
二叉排序树的实现 实验内容: 解决方案与关键代码: 解决方案: 编程生成二叉排序树 非递归二叉树遍历 先序 中序 后序 二叉树的打印 简单图书系统 二叉排序树图书管理系统 图书类 构造函数BTree ...
- 二叉树最简单的遍历方式——二叉树的层序遍历
遍历分为深度优先和广度优先,对于二叉树的深度优先遍历我们已经讨论过了常规的递归遍历,迭代遍历和优化了空间复杂度的Morris遍历,这篇博客我们来讨论二叉树的广度优先遍历,也就是我们常说的层序遍历. 以 ...
- 二叉树的前序遍历,中序遍历,后序遍历-详解-配套例题
二叉树作为数据结构中一种简单而且重要的数据结构,他的存储结构和算法都相对比较简单,因此他也显得特别重要,因为很多问题都可以抽象为二叉树的问题. 在这里我们对于二叉树的基本概念不做详细介绍,我们这里主要 ...
最新文章
- HTML5一个浪漫的程序猿:3D旋转爱心表白神器思路源码视频
- sha1withRSA md5withRSA分析
- 盗贼之海3月22服务器维护,盗贼之海3月29日更新公告_3月29日更新了什么_52pk单机游戏...
- 设计模式学习总结1 - 创建型1 - Abstract Factory抽象工厂模式
- 软件项目管理课后题下载【共5个章(1、3、4、5、6)】
- acwing199.余数之和(除法分块)
- esx4.0 tpm模块初始化失败
- 12 年!Android 系统的漫漫设计路
- 使用Reloader实现更新configmap后自动重启pod
- ios 自动缩小字体_如何避免iOS自动调整字体大小?
- java8 stream ,filter 等功能代替for循环
- 关于顶级域名、二级域名、子域名的问题
- Edge检查更新时出错:无法连接到Internet。如果使用防火墙,请将 MicrosoftEdgeUpdate.exe 加入允许列表中。
- 剑指 Offer 04. 二维数组中的查找
- 【MOOS系统安装步骤】
- 数字图像处理作业-医学图像浏览器
- 仔细体验,我想从产品设计的角度分析分析微信的声音锁
- wave和pyaudio读取wav语音文件并播放
- 快慢指针之练习【2】
- 关于梯度消失,梯度爆炸的问题
热门文章
- 关于APP抓包,Mac就不配拥有姓名吗?
- 1253:抓住那头牛
- tensorflow应用系列3:使用tensorflow完成多项式回归
- 面试官最爱提的问题TOP10来自:北京人才市场报
- Vulkan_Shader_Day02—光照(基础光照_Phong Lighting Model)
- 小型微型计算机系统加急,小型微型计算机系统杂志
- 视频系统 流媒体 rtsp hls h264 h265 aac 高并发 低延时 系统 设计 录像 视频合成 转发 点播 快进 快退 单步播放 分布式集群
- jquery实现全选
- ros2 launch 常见问题
- 《手机与数字娱乐产品可用性的分析》