当前位置: 首页 > news >正文

【数据结构】在二叉树中有两个结点m和n,若m是n的祖先,则使用后序遍历可以找到从m到n的路径

分析:首先要明白,找到m到n的路径,指的不是遍历序列中的那个序列,而是直接得到n到m需要经过那些结点

比如下图:

中序序列(LNR)是:213m7584n69:m7584n确实包含了m到n的路径,但是夹杂了很多别的元素,并不是我们要的路径

那要怎么得到m到n的路径呢?

由三种遍历方式的非递归算法构造时借助了栈可以想到

——使用栈求两结点的路径

以上图二叉树为例,下面将分析三种遍历时的栈的变化:

1.先序遍历(NLR)

补充:注意访问是访问它的值,并加入到先序遍历的序列中,出栈和遍历序列无关;

        先序遍历是入栈前访问中序遍历是先入栈,出栈时访问

        右子树不空时,访问右孩子,将右子树的根作为新的根,执行①;

先序遍历和中序遍历只有访问位置不同的区别(即是在入栈前访问还是在出栈时访问)

所以先序序列不可以找到m到n的路径

2.中序遍历(LNR)

所以中序序列也不可以找到m到n的路径

3.后序序列


http://www.mrgr.cn/news/52330.html

相关文章:

  • 兰迪·舍克曼担任生命银行链(LBC)顾问,赋能基因数据技术发展
  • 【C++刷题】力扣-#170-两数之和III-数据结构设计
  • 基础实验4-2.7 修理牧场
  • kernel panic 稳定性分析实例(三)
  • 线性可分支持向量机的原理推导
  • Shell编程-for循环
  • 【存储设备专栏 2.8 -- gio mount -d /dev/sdb1 挂载U盘后查看挂载的目录】
  • 2024年推荐的7个自助建站工具?
  • 深度学习笔记20_数据增强
  • 一文详解 requests 库中 json 参数和 data 参数的用法
  • 最强小模型又易主!Mistral发布小部长Ministral 3B、8B,登基边缘计算之王!
  • 玩转Prometheus的pushgateway和联邦集群
  • perl模式匹配修饰符
  • 人工智能学习框架
  • 案例分析:Modbus设备如何通过MQTT网关连接阿里云IoT
  • 【Spark SQL】文本函数及业务场景使用
  • 手撕数据结构 —— 堆(C语言讲解)
  • 关闭cloud tts
  • 范数,L2范数标准化,及其用法和意义
  • 闯关leetcode——111. Minimum Depth of Binary Tree