当前位置: 首页 > 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

 

相关文章:

  • 项目升级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对比:写一段冒泡排序
  • 人民网三评“网络烂梗”:莫让低级趣味围猎青少年
  • 崔登荣任国家游泳队总教练
  • 上海团队在医学顶刊连发两文,率先提出“证据污染”循证概念
  • “远践”项目启动公益生态圈,上海青少年公益力量蓬勃生长
  • 海北州委常委、常务副州长桑本履新青海省供销社理事会主任
  • 商务部新闻发言人就中美日内瓦经贸会谈联合声明发表谈话