• 二叉树的遍历


    二叉树中的先序,中序,后续遍历很容易让人迷糊,记录一下概念。

    遍历是将二叉树中的结点信息由非线性排列变为某种意义上的线性排列。也就是说,遍历操作使非线性结构线性化。

    一棵二叉树由根结点、左子树和右子树三部分组成,若规定 D、L、R 分别代表遍历根结点、遍历左子树、遍历右子树,则二叉树的遍历方式有 6 种:DLR、DRL、LDR、LRD、RDL、RLD。由于先遍历左子树和先遍历右子树在算法设计上没有本质区别,所以,只讨论三种方式:DLR(先序 遍历)、LDR(中序遍历)和 LRD(后序遍历)。

    我们对如下树进行先序遍历(DLR)、中序遍历(LDR)和 后序遍历(LRD),大家试着写出各种遍历后的字母排列后再看答案。

    image

    1、先序遍历(DLR)

    先序遍历的基本思想是:首先访问根结点,然后先序遍历其左子树,最后先序遍历其右子树。

    DLR结果

    2、DRL

    DRL的基本思想是:首先访问根结点,然后先序遍历其右子树,最后先序遍历其左子树。

    DRL结果
     

    3、中序遍历(LDR) 中序遍历的基本思想是:首先中序遍历根结点的左子树,然后访问根结点,最后中序遍历其右子树。

    LDR结果

    4、RDL

    RDL的基本思想是:首先中序遍历根结点的右子树,然后访问根结点,最后中序遍历其左子树。

    RDL结果

    5、后序遍历(LRD) 后序遍历的基本思想是:首先后序遍历根结点的左子树,然后后序遍历根结点的右子树,最后访问根结点

    LRD结果

    6、RLD

    RLD的基本思想是:首先后序遍历根结点的右子树,然后后序遍历根结点的左子树,最后访问根结点

    RLD结果


     

    实现二叉树排序,查找

  • 相关阅读:
    Leetcode Minimum Path Sum
    Leetcode House Robber II
    洛谷 P5375 【[THUPC2019]组合数据结构问题】题解
    洛谷 P1855 【榨取kkksc03】题解
    CF1173A 【Nauuo and Votes】题解
    [NOIP2018D1T1][NOIP2013D1T1][Luogu P5019]铺设道路 题解
    [BZOJ1083][SCOI2005]繁忙的都市 题解
    统计自己洛谷AC题目爬虫
    CF43A Football 题解
    SP2 PRIME1
  • 原文地址:https://www.cnblogs.com/ivanyb/p/2272211.html
Copyright © 2020-2023  润新知