问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

树的遍历的定义

发布网友 发布时间:2022-04-24 08:21

我来回答

1个回答

热心网友 时间:2022-06-17 23:45

树的这3种遍历方式可递归地定义如下:
如果T是一棵空树,那么对T进行前序遍历、中序遍历和后序遍历都是空操作,得到的列表为空表。
如果T是一棵单结点树,那么对T进行前序遍历、中序遍历和后序遍历都只访问这个结点。这个结点本身就是要得到的相应列表。
否则,设T如图6所示,它以n为树根,树根的子树从左到右依次为T1,T2,..,Tk,那么有:
对T进行前序遍历是先访问树根n,然后依次前序遍历T1,T2,..,Tk。
对T进行中序遍历是先中序遍历T1,然后访问树根n,接着依次对T2,T3,..,Tk进行中序遍历。
对T进行后序遍历是先依次对T1,T2,..,Tk进行后序遍历,最后访问树根n。
n
/ | \
/ | \
/ | \
/ ... | ... \
T1 T2 T3
前序遍历和中序遍历可形式地依次描述如下 :
三种遍历可以形式地描述如下,其中用到了树的ADT操作:
Procere Preorder_Traversal(v:NodeType); {前序遍历算法}
begin
Visite(v); {访问节点v}
i:=Leftmost_Child(v);
while i<>∧ do
begin
Preorder_Traversal(i);{从左到右依次访问v的每一个儿子节点i}
i:=Right_Sibling(i);
end;
end;
Procere Inorder_Traversal(v:NodeType); {中序遍历算法}
begin
if Leftmost_Child(v)=∧ {判断v是否是叶节点}
then Visite(v)
else
begin
Inorder_Traversal(Leftmost_Child(v)); {中序遍历v的左边第一个儿子节点}
Visite(v); {访问节点v}
i:=Right_Sibling(Leftmost_Child(v)); {i=v的左边第二个儿子}
while i<>∧ do
begin
Inorder_Traversal(i);
{从左边第二个开始到最右边一个为止依次访问v的每一个儿子节点i}
i:=Right_Sibling(i);
end;
end;
end;
Procere Postorder_Traversal(v:NodeType); {后序遍历算法}
begin
i:=Leftmost_Child(v);
while i<>∧ do
begin
Preorder_Traversal(i);{从左到右依次访问v的每一个儿子节点i}
i:=Right_Sibling(i);
end;
Visite(v); {访问节点v}
end;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 什么是树的遍历java 碧蓝航线未和谐版怎么弄 碧蓝航线怎么反和谐,要输入什么? 碧蓝航线怎么反和谐 要输入什么 碧蓝航线好感度怎么提升 碧蓝航线新手前期怎么搭配阵容 碧蓝航线改造怎么操作呢 碧蓝航线meta角色如何使用 碧蓝航线怎么获取舰娘呢 碧蓝航线怎么玩 碧蓝航线的舰娘特殊事件怎么触发? 碧蓝航线怎么刷舰娘好感度 碧蓝航线先和谁结婚好_碧蓝航线和哪个舰娘结婚好 这是碧蓝航线的谁 《碧蓝航线》怎样获取结婚戒指?戒指获取方法一览。 碧蓝航线超巡炮怎么获得 《碧蓝航线》结婚系统怎么用?结婚需要哪些东西? 请问这是碧蓝航线的哪个舰娘,或者哪个皮肤。? 垃圾分类怎么分 碧蓝航线圣地亚哥改,吾妻,信浓,长门,半人马,再带个啥比较好? 什么是树的层次遍历 要求通俗易懂 计算机数据结构中树的遍历 二叉树的三种遍历,先,中,后遍历 20.树的遍历有三种,分别是 ___. 和后序遍历。 树结构的定义,几种遍历方法 怎么正确理解二叉树的遍历 什么是二叉树数的遍历 二叉树的遍历到底是怎么回事 C语言 树的生成和遍历 何谓二叉树的遍历? 编程中的树的遍历分为哪三种? 实现二叉树的各种遍历方法 数据结构中树的遍历是什么意思? 如何遍历树 二叉树的遍历 螺纹里的“旋合长度”是什么意思? 螺纹旋合长度S、N、L是如何界定的 螺纹标注问题,如图,旋合长度代号不是为N吗,那个LH是什么意思? 经验公式的螺纹旋合长度指的是理论旋合长度还是实际旋合长度 机械手册公差精度里的字母S、N、L代表什么意思???