news 2026/4/18 0:57:24

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第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 由森林转换的二叉树

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

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

森林二叉树
先根遍历先序遍历先序遍历
后根遍历中序遍历中序遍历
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 0:49:19

LangFlow镜像飞书集成方案:组织内高效协作助手

LangFlow镜像飞书集成方案:组织内高效协作助手 在企业加速拥抱大语言模型(LLM)的今天,一个现实问题始终横亘在理想与落地之间:技术能力越强的AI系统,往往使用门槛也越高。工程师能用代码驾驭LangChain构建复…

作者头像 李华
网站建设 2026/4/16 10:12:27

LangFlow镜像微服务改造:拆分模块提升系统灵活性

LangFlow镜像微服务改造:拆分模块提升系统灵活性 在AI应用开发日益普及的今天,大语言模型(LLM)已不再是实验室里的专属技术,而是逐步渗透到产品原型、企业自动化流程乃至日常办公场景中。LangChain作为构建LLM驱动应用…

作者头像 李华
网站建设 2026/4/17 18:33:34

三维多无人机领航-跟随编队与势场避障仿真

三维多无人机领航-跟随编队与势场避障仿真 程序介绍:本程序面向三维空间多无人机协同任务,构建“单长机多僚机”的编队运动与避障仿真框架。系统给定多架无人机初始坐标、长机目标点以及编队相对几何结构,通过迭代更新实现整体队形向目标区域…

作者头像 李华
网站建设 2026/4/12 10:43:56

从0到1构建智能出餐提醒系统,Open-AutoGLM核心机制深度解读

第一章:从0到1构建智能出餐提醒系统的背景与意义在现代餐饮服务场景中,出餐效率直接影响顾客满意度与门店运营水平。高峰时段订单激增,厨房压力陡增,人工提醒易出现遗漏或延迟,导致顾客等待时间延长,甚至引…

作者头像 李华
网站建设 2026/4/17 18:08:59

揭秘Open-AutoGLM自动调度引擎:如何实现旅游订单秒级响应与零积压

第一章:揭秘Open-AutoGLM自动调度引擎:核心架构与设计哲学Open-AutoGLM 是一个面向大语言模型任务调度的开源自动化引擎,专为复杂推理流程的编排、优化与执行而设计。其核心目标是解耦任务定义与执行逻辑,实现高度可扩展的调度策略…

作者头像 李华
网站建设 2026/4/14 4:33:12

LangFlow镜像负载均衡测试:高并发下的稳定性表现

LangFlow镜像负载均衡测试:高并发下的稳定性表现 在企业加速拥抱大语言模型的今天,一个现实问题日益凸显:如何让非工程背景的团队成员也能快速参与AI应用构建?传统开发模式下,从需求提出到原型验证往往需要数周时间&a…

作者头像 李华