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

二叉树的遍历知识点及习题

一、知识点

1二叉树的遍历理解为按照预先定好的搜索路径访问树里的每个节点,且每个节点仅访问一次

2假设根节点为N,左子树为L,右子树为R,常见的三种遍历方法分别是先(前)序遍历NLR 根左右,中序遍历 LNR 左根右,后序遍历LRN 左右根

3第四种 是按照第一层,第二层,第三层,第四层去遍历。如图,遍历顺序是ABCDEFGHI。层次遍历是需要借助队列的,先进先出

二、习题

1前序序列为ABC,后序序列为CBA,的二叉树共有几棵

思路:前序是根左右,后序是左右根,ABC和CBA相反,要相反有两个方向,1右子树为空,遍历根左和左根;2左子树为空,遍历根右和 右根

答案是4棵,如上图。

2已知一棵二叉树的后序序列为DABEC,中序序列为DEBAC,先序序列是

A.  ACBED
B.  DECAB

C. DEABC
D. CEDBA

思路:选择题不用花时间算,排除法做。因为后序是左右,先序左右,所以后序的最后一个结点c一定是先序的第一个。

答案选D

3若对下图所示的二叉树进行中序线索化,则结点X的左右线索指向的结点分别是

思路:先推出来中序遍历的结点顺序,中序是左根右。再找到X的前后节点,左线索指向X的前一个节点,右线索指向后一个。

中序遍历出来是debXac,所以X的左线索指向b,右线索指向a

推算方法见视频中序遍历二叉树做法_哔哩哔哩_bilibili

 

http://www.dtcms.com/a/35846.html

相关文章:

  • 项目升级Sass版本或升级Element Plus版本遇到的问题
  • 文件包含-session2
  • 函数式编程:概念、特性与应用
  • 运行测试用例
  • c3p0、Druid连接池+工具类 Apache-DbUtils (详解!!!)
  • 使用 DeepSeek + OmniParser v2 + UIAutomation 实现 GUI 应用自动化测试的探索
  • 【C++】 stack和queue以及模拟实现
  • [C语言]动态内存分配详解
  • python与C系列语言的差异总结(2)
  • C++21--红黑树
  • 网络安全实入门| 剖析HTTP慢速攻击(Slowloris)与Nginx防护配置
  • unity学习53:UI的子容器:面板panel
  • VMware17下安装Ubuntu22.04与Docker(附带:1.解决重启后IP重置问题。2.多个虚拟机之间网络通信)
  • 机器学习2-决策树
  • Metal 学习笔记二:3D模型
  • 正则化及其在机器学习中的作用
  • 大模型在术后认知功能障碍预测及临床方案制定中的应用研究
  • Java——内部类
  • 嵌入式Modbus协议面试题及参考答案
  • Deepseek和Grok 3对比:写一段冒泡排序
  • 计算机毕业设计SpringBoot+Vue.js明星周边产品销售网站(源码+文档+PPT+讲解)
  • RTK定位精度 1cm+1ppm 中的ppm是什么意思?
  • 智能硬件-01智能停车场
  • Linux设备驱动开发-中断
  • 特殊回文数的因子
  • 22、《Spring Boot消息队列:RabbitMQ延迟队列与死信队列深度解析》
  • SpringBoot约定大于配置
  • 【AIGC系列】1:自编码器(AutoEncoder, AE)
  • Win10登录Samba服务器报用户名密码错误问题解决
  • 测试工程师玩转DeepSeek之Prompt