数据结构 森林的遍历

作者&投稿:中轻 (若有异议请与网页底部的电邮联系)
数据结构课本上只讲了森林的遍历与二叉树遍历的对应关系,但树的后序遍历是对应二叉树的什么遍历?~

中序啊,一样的,森林就是多颗树

书上完全正确~\(≧▽≦)/~,森林有两种遍历,一是先序二是中序。而这个森林的中序其实是后根遍历,并非真的中序遍历。所以应该是先左右再到根啦。

(1)中序遍历森林中第一棵树的根节点的子树森林;
(2)访问第一棵树的根节点;

这两个步骤是说"先遍历第一棵树,而第一棵树,是要先遍历它的子森林,再访问根节点"

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

这个步骤,是说继续遍历同级的其他树

结合起来理解,就是依次遍历同级的几棵树,然后访问根节点
(对于森林,你可以想象有一个虚拟的根节点在上面,这样其实就是一棵树了,先遍历这个虚拟树的几棵子树,再访问那个虚拟的根节点)

按这个理解,对于第一棵树,先访问B,C,D,再访问根A
然后访问第二棵树,先访问树F,树H,再根E
然后第三棵树,先访问树I,再访问根G,而对数I,要先访问它的子树J,所以顺序是J,I,G
按这个逻辑,我理解J是跟在I下面的,是么?从你的图上看不清楚

补充一下,说穿了就是"依次对每一棵树进行后根遍历"

这个问题从高分笔记和王道两本书就可以看出来,是有争议的!高分笔记森林遍历是先序和后序,王道是先序和中序!


庆安县18994748917: [ 实验目的] 验证树和森林的遍历算法.(c++) -
汲炉百士: 树和森林的遍历 @(数据结构) 不要带着二叉树的遍历来限制了对树的遍历的理解. 树的遍历的定义:以某种方式访问树中的每一个结点,且仅访问一次. 树的遍历主要有先根遍历和后根遍历.先根遍历:若树非空,则先访问根结点,再按照...

庆安县18994748917: 数据结构中"遍历"是什么意思? -
汲炉百士: 所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问.访问结点所做的操作依赖于具体的应用问题. 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础. 遍历方案 1.遍历方案 从二叉树...

庆安县18994748917: 数据结构 这张森林图的中序遍历是什么 书上写的对吗 中序不应该是左中右的顺序吗 那开头不应该是 e -
汲炉百士: 书上完全正确~\(≧▽≦)/~,森林有两种遍历,一是先序二是中序.而这个森林的中序其实是后根遍历,并非真的中序遍历.所以应该是先左右再到根啦.

庆安县18994748917: 求数据结构 四、应用题1、画出如下图所示的二叉树对应的森林.A/ \B C\ / \D E F/ \ /G H I/ \J K2、对于如下图所示的二叉树,给出它的前序、中序和后序遍历的... -
汲炉百士:[答案] 1. A C F / \ / | \ | B D E H K I / G 2. 前序:ABDEHCFI 中序:DBHEACIF 后续:DHEBIFCA 3.不会. 4. 深度优先:V1->V2->V5->V4->V3 广度遍历:V1->V2->V3->V5->V4

庆安县18994748917: 数据结构的“图的生成树”是如何定义的? -
汲炉百士: 定义1:对于无向图G和一棵树T来说,如果T是G的子图,则称T为G的树,如果T是G的生成子图,则称T是G的生成树. 定义2:对于一个边上具有权值的图来说,其边权值和最小的生成树称做图G的最小生成树. 若一个无向图G的生成子图是一...

庆安县18994748917: c语题高手进
汲炉百士: 这个很像是数据结构中的森林的遍历我的思路:1.设置一个访问标志数组,初始化为0,代表未访问.2.任选一个未访问的*,记为x1,递归找到它的相邻*,每找到一个相邻*,标记为已访问1,并对这个*递归遍历相邻*;当x1的相邻*遍历完毕,图形数增1.3.重复2,直到找不到未访问的*以上算出total.对于closed,可在上面的基础上,对每个星的相邻*进行计数,当存在某个计数小于2时,本次图形遍历出的图形为开放的.否则为封闭的.

庆安县18994748917: 数据结构中树的遍历是什么意思? -
汲炉百士: 按字面理解就明白了,就是全部访问经历一遍.

庆安县18994748917: 数据结构二叉树怎么遍历啊?? -
汲炉百士: 拿先序遍历举例: 先序遍历 是根左右 先遍历根A,然后遍历A的左子树(是左面那一群),然后遍历A的右子树(为空). 在A的左子树中,先遍历根也就是B,在遍历B的左子树也就是C,在遍历B的右子树,是右边的一群. 在B的右子树中继续…………

庆安县18994748917: 编程中的树的遍历分为哪三种? -
汲炉百士: ① NLR:前序遍历(PreorderTraversal亦称(先序遍历)) ——访问根结点的操作发生在遍历其左右子树之前. ② LNR:中序遍历(InorderTraversal) ——访问根结点的操作发生在遍历其左右子树之中(间). ③ LRN:后序遍历(PostorderTraversal) ——访问根结点的操作发生在遍历其左右子树之后. 注意:由于被访问的结点必是某子树的根,所以N(Node)、L(Left subtree)和R(Right subtree)又可解释为根、根的左子树和根的右子树.NLR、LNR和LRN分别又称为先根遍历、中根遍历和后根遍历.

庆安县18994748917: 数据结构多选,谢谢了 -
汲炉百士: 1、 单链表的特点是 A 随机存取 B 顺序存取 C 元素音的逻辑关系由指针指示D 插入删除元素时需要移动表中元素 E 插入删除元素时不必移动元素,只须改指针F 数据元素在存储器内的物理位置顺序与它们的逻辑顺序不一定相同 BCEF2、在线...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网