news 2026/4/23 13:45:01

第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/23 5:24:26

基于51单片机的智能大棚控制器设计

第一章 设计背景与核心需求 随着农业现代化蔬菜种植产业的规模化发展,传统大棚种植依赖人工监测与调控环境参数,存在效率低、精度差、劳动强度大等问题,难以满足高品质作物生长需求。基于51单片机的智能大棚控制器凭借成本低、控制可靠、适配…

作者头像 李华
网站建设 2026/4/23 13:14:17

基于单片机的汽车雨刷器装置设计

第一章 设计背景与核心需求 汽车雨刷器是保障雨天行车安全的关键部件,传统雨刷器多采用机械调速或简单继电器控制,存在调速档位少、响应滞后、无法根据雨量自动调节的问题,影响驾驶视野与操作便捷性。基于单片机的汽车雨刷器装置凭借控制灵活…

作者头像 李华
网站建设 2026/4/22 3:18:10

收藏!35岁程序员转行大模型领域:8步落地指南(小白/进阶通用)

35岁程序员面临职业转型十字路口时,大模型作为当下最热门的技术赛道,无疑是极具吸引力的选择。但跨领域转型并非易事,需要系统规划与稳步推进。以下是专为35岁程序员量身定制的大模型领域转行落地步骤,兼顾基础入门与技能衔接&…

作者头像 李华
网站建设 2026/4/23 5:32:10

揭秘Open-AutoGLM核心机制:如何实现本地商户信息自动同步与校验

第一章:Open-AutoGLM 本地商户信息维护在构建本地生活服务平台时,确保商户信息的准确性与实时性至关重要。Open-AutoGLM 提供了一套自动化工具链,支持从数据采集、清洗到结构化存储的全流程管理,特别适用于本地商户信息的动态维护…

作者头像 李华
网站建设 2026/4/23 5:27:18

Open-AutoGLM实战指南(电商数据自动化大揭秘)

第一章:Open-AutoGLM实战指南(电商数据自动化大揭秘)在电商平台运营中,海量商品数据的清洗、分类与标签生成是一项高频且耗时的任务。Open-AutoGLM 作为一款支持自然语言驱动的数据自动化处理框架,能够通过大模型理解非…

作者头像 李华