首页 > 编程知识 正文

由先序遍历和中序遍历构造二叉树,某二叉树有5个度为2的结点

时间:2023-05-03 20:30:05 阅读:154824 作者:1601

今天的问题是看了二叉树的遍历问题,有点忘了,变成了百度。 我注意到没有详细的说明。 幸运的是,之前做好了。 看两个例子就能做到。 所以打算自己写说明,给刚学习二叉树的遍历和刚开始笔试就忘了的兄弟们。 (这里的例子都是在网上找到的例子,可以自己写例子,但如果错别字和问各种问题,回答错误的话会造成不必要的麻烦。)

首先来看看定义吧。 ()我想想学习的同学已经看过好几次了。

(1)先遍历(根的左右) ) ) ) )。

(2)中顺扫描) (左根右) )。

(3)后面的遍历((左右根) ) ) )。

按以下顺序分析。 (举个例子进行分析很直接) ) ) ) ) ) ) ) ) ) ) ) )。

顺序遍历

首先,让我们看一下第一个遍历。 首先是根,然后向左分支,再向右分支。 这个懂的人知道,但不懂的人会犹豫。 这句话不就是表示a首先在,然后遍历左和右吗? 博主以前就这么认为,但实际上并非如此。 以下详细说明。 中序和后序都大同小异。

先看全局,生根后向左分支,再向右分支。 首先说明a,然后是左分支,然后是右分支: A的左分支A的右分支。 取出左点,如下图所示。

这也具有按照规则首先根向左分支,然后向右分支的特征。 因为根据是b,左边是d,右边的分支不是一个字,所以先决定了b右边的分支,所以是abdb右边的分支a右边的分支。 并且,b的右分支也遵循根据先从左到右的规律,根为e,左分支为f,右分支为g,成为A B D E F G A的右分支。 取出a的右分支。

将右分支作为单独的分支来看,根据先从左到右的规律,根为c,左分支为空,右分支不为一个字符,所以作为c的右分支。 排序为ABDEFGC C的右分支,观察c的右分支,发现根为h,左分支为I,右分支为空。 所以,第一次扫描是ABDEFGCHI。

中顺序扫描

让我们看看中序遍历。 中序遍历定律是从左扎根向右,所以是a的左分支aaa的右分支。 按老规矩,要看左转弯,

从左到根,再到右的法则中,将左的分支设为d,将根设为b,将右设为b的右分支,因此成为DB的右分支aaa的右分支。 让我们看看B的右分支。 根据规律,左分支为f,根为e,右分支为g。 所以是DBFEGA A的右分支。 让我们看看a的右分支。

左分支为空,根为c。 右分支先被决定为c的右分支,所以成为DBFEGAC C的右分支。 观察C的右分支,左分支I条为h,右分支为空。 因此,中顺序扫描是DBFEGACIH。

反向遍历:

最后回顾一下后序经历,理解前序和中序的兄弟们看后序也很容易吧。 按老规矩,写时要遵循先左分,再右分,最后扎根的规律。 看看a的左分支a的右分支a,还有左分支。

其中,左分支设d条为b,右分支设b的右分支,因此成为D B的右分支B A的右分支A。 让我们看看B的右分支。 其中左分支为f,根为e,右分支为g。 根据从左向右扫描扎根的规律,成为D F G E B A的右分支a。 让我们看看a的右分支。

将左枝设为空,右枝设为c的右枝,根设为c,按照募集顺序排列的法则是DFGEB C的右枝CA。 在c的右枝中,左枝为I,根为h,右枝为空,按照规律后序为DFGEBIHCA。

到此为止,三个遍历已经结束了,我们来出几个例题帮助兄弟们测试一下吧。 但是,博主感觉说得很详细,应该能理解。

第一次遍历: A B D H E I C F J K G

中顺序扫描: D H B E I A J F K C G

稍后遍历: H D I E B J K F G C A

上一个序列: ABCDEGF

中序列: CBEGDFA

随访: CGEFDBA

顺序扫描: ABDFCEGHI

中顺序扫描: BFDACHGIE

后遍历: FDBHIGECA

//看了上面的例子做一些下面的题就应该懂了把。如果还不懂可以留言或者私聊博主,这里没有涉及代码和已知前序遍历和中序遍历求后序遍历之类的,因为博主感觉你理解了前中后序遍历的根本,求这种应该很简单的。

如果有错误和不懂的欢迎私聊和留言,博主会实时关注的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。