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

第7章树和二叉树:树和森林的遍历

7.10 树和森林的遍历

1. 树的遍历

由树结构的定义,可以引出两种次序遍历树的方法:

(1)先根(次序)遍历

先访问树的根结点,然后依次先根遍历根的每棵子树。

以图 7.10.1 所示的树为例,先根遍历,可得树的先根序列为:RADEBCFGHK

图 7.10.1 树

(2)后根(次序)遍历

先依次后根遍历每棵子树,然后访问根结点。

以图 7.10.1 所示的树为例,后根遍历,可得树的后根序列为:DEABGHKFCR

2. 森林的遍历

按照森林和树相互递归的定义,森林也有两种遍历方法

(1)先序遍历

若森林非空,按照下述规则遍历:

① 访问森林中第一棵树的根结点;

② 先序遍历第一棵树的根结点的子树森林;

③ 先序遍历除去第一棵树之后剩余的树构成的森林

如图 7.10.2 所示的森林,根据先序遍历,得到森林的先序序列为:ABCDEFGHIJ

图 7.10.2 森林

(2)中序遍历

若森林为空,则可按下述规则遍历:

① 中序遍历森林中第一棵树的根结点的子树森林;

② 访问第一棵树的根结点;

③ 中序遍历除去第一棵树之后剩余的树构成的森林。

如图 7.10.2 所示的森林,根据中序遍历,得到森林的中序序列为:BCDAFEHJIG

由森林与二叉树之间转换的规则可知,当森林转换成二叉树时,其第一棵树的子树森林转换成左子树,剩余树的森林转换成右子树,则上述森林的先序和中序遍历即为其对应的二叉树的先序和中序遍历。

将图 7.10.2 所示的森林转换为二叉树,如图 7.10.3 所示,对该二叉树分别进行先序和中序遍历,可得和上述相同的序列。

图 7.10.3 由森林转换的二叉树

当以二叉链表做树的存储结构时,树的先根遍历和后根遍历可借用二叉树的先序遍历和中序遍历的算法实现。

树、森林的遍历与二叉树的遍历的对应关系:

森林二叉树
先根遍历先序遍历先序遍历
后根遍历中序遍历中序遍历
http://www.cnnetsun.cn/news/179818.html

相关文章:

  • PaperXie文献综述智能生成:3步把“文献堆砌”变“学术脉络”,导师直呼“这才是综述”!
  • 基于STM32的水质PH值电导率TDS超声波水位液位检测系统设计
  • 基于STM32的智能家居控制系统设计与应用
  • 收藏这篇就够了:RAG检索增强生成技术详解,解决大模型四大痛点,提升应用效果
  • 旗舰标杆与性价比之选:园世Betapro与X7运动耳机全场景实测
  • 【本地生活服务智能化升级】:基于Open-AutoGLM的5大核心应用场景
  • 收藏!一文读懂什么是Agent?大模型落地必备架构解析
  • 从零搭建AI报表系统,基于Open-AutoGLM的电商数据自动化全解析
  • Open-AutoGLM本地生活应用全解析(私有化部署+智能调度大揭秘)
  • STM32两轮自平衡小车系统设计
  • 基于AT89S51单片机的数字电子时钟设计与实现
  • 软件CNAS/CMA测评验收机构【Gatling动态参数处理:Session API、EL表达式、随机函数】
  • 【保姆级教程】手把手带你理解Graph4MM,让图结构成为你玩转多模态的“核武器”!
  • 想快速入门学黑客,这四个工具一定要会!
  • 告别重复劳动,用Open-AutoGLM实现全天候智能运营,你还在手动操作吗?
  • 19.3 用户痛点挖掘:现有工具的改进空间
  • AI写论文哪个软件最好?宏智树AI用一场“毕业前哨战”替你测评了
  • LangFlow镜像后端逻辑分离:前后端解耦便于维护
  • 每天减少200小时人工干预:Open-AutoGLM在京东级电商业务中的落地实践
  • 【毕业设计】SpringBoot+Vue+MySQL 城市垃圾分类管理系统平台源码+数据库+论文+部署文档
  • LangFlow镜像用户案例分享:电商行业智能推荐实现
  • 鸿蒙应用的测试和调试完全指南:从单元测试到性能分析
  • 可测试性软件架构的设计原则与评审要点
  • Open-AutoGLM到底有多强?:3个真实案例揭示其在电商场景中的颠覆性应用
  • 股票基础-第25课-风险管理与仓位控制
  • 服务器被黑了,我是怎么发现和处理的
  • 股票基础-第32课-投资组合构建与管理
  • 【电商运营必看】Open-AutoGLM如何实现98%好评回复满意度?
  • 【高可用架构设计】:基于Open-AutoGLM的电商库存自动监控系统搭建指南
  • 【电商运营效率提升300%】:Open-AutoGLM自动化报名落地全攻略