转自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)相关推荐

  1. 数据结构(3) 第三天 栈的应用:就近匹配/中缀表达式转后缀表达式 、树/二叉树的概念、二叉树的递归与非递归遍历(DLR LDR LRD)、递归求叶子节点数目/二叉树高度/二叉树拷贝和释放...

    01 上节课回顾 受限的线性表 栈和队列的链式存储其实就是链表 但是不能任意操作 所以叫受限的线性表 02 栈的应用_就近匹配 案例1就近匹配: #include <stdio.h> in ...

  2. 面试题7: 二叉树基础知识 - 前序遍历(DLR), 中序遍历(LDR), 后续遍历(LRD) - Android 端递归实现

    二叉树定义: /*** Author: Heynchy* Date: 2019/6/24* <p>* Introduce: 二叉树的定义*/ public class TreeNode i ...

  3. 【二叉树前/先序DLR中序LDR后序LRD遍历及镜像翻转,so esay~】

    二叉树前/先序DLR中序LDR后序LRD遍历及镜像翻转 一.名词释义 二叉树的遍历方式,根据遍历根节点的顺序不同,分为三种:前序(先序)遍历(DLR).中序遍历(LDR).后序遍历(LRD). 1.前 ...

  4. 广度优先遍历类似于二叉树的_二叉树的各种遍历方法的简单解释

    二叉树顾名思义,最多两个孩子. 一般规定一个二叉树,因为节点间有相互连接的原因,所以只要给定根节点,那么顺着寻找左孩子和右孩子便可以遍历到所有的节点,这就是遍历的直观解释. 而遍历分为深度遍历和广度遍 ...

  5. 一种二叉树非递归遍历的简单写法

    一种二叉树非递归遍历的简单写法 目录 一种二叉树非递归遍历的简单写法 先序遍历 中序遍历 后序遍历 二叉树的遍历是数据结构中非常基础的一个知识点,也是面试手撕代码环节的一个常见题目.这个问题的递归写法 ...

  6. resultset不支持循环遍历_二叉树的各种遍历方法的简单解释

    二叉树顾名思义,最多两个孩子. 一般规定一个二叉树,因为节点间有相互连接的原因,所以只要给定根节点,那么顺着寻找左孩子和右孩子便可以遍历到所有的节点,这就是遍历的直观解释. 而遍历分为深度遍历和广度遍 ...

  7. 二叉排序树遍历二叉树打印简单图书管理系统

    二叉排序树的实现 实验内容: 解决方案与关键代码: 解决方案: 编程生成二叉排序树 非递归二叉树遍历 先序 中序 后序 二叉树的打印 简单图书系统 二叉排序树图书管理系统 图书类 构造函数BTree ...

  8. 二叉树最简单的遍历方式——二叉树的层序遍历

    遍历分为深度优先和广度优先,对于二叉树的深度优先遍历我们已经讨论过了常规的递归遍历,迭代遍历和优化了空间复杂度的Morris遍历,这篇博客我们来讨论二叉树的广度优先遍历,也就是我们常说的层序遍历. 以 ...

  9. 二叉树的前序遍历,中序遍历,后序遍历-详解-配套例题

    二叉树作为数据结构中一种简单而且重要的数据结构,他的存储结构和算法都相对比较简单,因此他也显得特别重要,因为很多问题都可以抽象为二叉树的问题. 在这里我们对于二叉树的基本概念不做详细介绍,我们这里主要 ...

最新文章

  1. HTML5一个浪漫的程序猿:3D旋转爱心表白神器思路源码视频
  2. sha1withRSA md5withRSA分析
  3. 盗贼之海3月22服务器维护,盗贼之海3月29日更新公告_3月29日更新了什么_52pk单机游戏...
  4. 设计模式学习总结1 - 创建型1 - Abstract Factory抽象工厂模式
  5. 软件项目管理课后题下载【共5个章(1、3、4、5、6)】
  6. acwing199.余数之和(除法分块)
  7. esx4.0 tpm模块初始化失败
  8. 12 年!Android 系统的漫漫设计路
  9. 使用Reloader实现更新configmap后自动重启pod
  10. ios 自动缩小字体_如何避免iOS自动调整字体大小?
  11. java8 stream ,filter 等功能代替for循环
  12. 关于顶级域名、二级域名、子域名的问题
  13. Edge检查更新时出错:无法连接到Internet。如果使用防火墙,请将 MicrosoftEdgeUpdate.exe 加入允许列表中。
  14. 剑指 Offer 04. 二维数组中的查找
  15. 【MOOS系统安装步骤】
  16. 数字图像处理作业-医学图像浏览器
  17. 仔细体验,我想从产品设计的角度分析分析微信的声音锁
  18. wave和pyaudio读取wav语音文件并播放
  19. 快慢指针之练习【2】
  20. 关于梯度消失,梯度爆炸的问题

热门文章

  1. 关于APP抓包,Mac就不配拥有姓名吗?
  2. 1253:抓住那头牛
  3. tensorflow应用系列3:使用tensorflow完成多项式回归
  4. 面试官最爱提的问题TOP10来自:北京人才市场报
  5. Vulkan_Shader_Day02—光照(基础光照_Phong Lighting Model)
  6. 小型微型计算机系统加急,小型微型计算机系统杂志
  7. 视频系统 流媒体 rtsp hls h264 h265 aac 高并发 低延时 系统 设计 录像 视频合成 转发 点播 快进 快退 单步播放 分布式集群
  8. jquery实现全选
  9. ros2 launch 常见问题
  10. 《手机与数字娱乐产品可用性的分析》