后序线索二叉树怎么画啊

设一颗二叉树的先序、中序遍历序列分别为:先序遍历序列:ABDFCEGH, 中序遍历序列:BFDAGEHC。1) 写出其后序遍历序列; 2) 并画出它的后序线索二叉树。 后序线索二叉树怎么画啊

先画出遍历序列,后根据遍历序列例如ABC,看A的右子树是否为空,如果为空,则指向B,再看B,如果B的左子树为空,则指向A,依次类推,均符合这个规律。

求后序线索二叉树中结点的后继要知道其双亲的信息,要使用栈,所以说后序线索二叉树是不完善的。

扩展资料:

线索二叉树的构建

建立线索二叉树,或者说对二叉树线索化,实质上就是遍历一棵二叉树。在遍历过程中,访问结点的操作是检查当前的左,右指针域是否为空,将它们改为指向前驱结点或后续结点的线索。为实现这一过程,设指针pre始终指向刚刚访问的结点,即若指针p指向当前结点,则pre指向它的前驱,以便设线索。

另外,在对一颗二叉树加线索时,必须首先申请一个头结点,建立头结点与二叉树的根结点的指向关系,对二叉树线索化后,还需建立最后一个结点与头结点之间的线索。

参考资料来源:百度百科-线索二叉树

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-04

后序:FDBGHECA

线索化:

画得不太好:后序线索化就是将后序序列中节点的前驱和后继关系用线标出来而已,途中的线都是双向的,除了指向F的线条,因为F没有前驱。

本回答被提问者和网友采纳
第2个回答  2018-06-22

后序:FDBGHECA

后序线索二叉树怎么画啊
先画出遍历序列,后根据遍历序列例如ABC,看A的右子树是否为空,如果为空,则指向B,再看B,如果B的左子树为空,则指向A,依次类推,均符合这个规律。求后序线索二叉树中结点的后继要知道其双亲的信息,要使用栈,所以说后序线索二叉树是不完善的。

如何实现二叉树的线索化
首先进行先序遍历,然后把得到的节点依次入队;然后把队列里除了根节点以外的节点依次根据标记,队里首节点Ltag=0,如果Ltag=1,左指针指向队里前一个元素,如果Rtag=1,右指针指向队里后一个元素。中序遍历线索二叉树:首先进行中序遍历,然后把得到的节点依次入队 然后把队列里除了根节点以外的节点依次...

...EFAGBCHKIJD.画出此二叉树,并画出后序线索二叉树。
二叉树把J换到I的右子树就好了,后序遍历:FEGKJIHDCBA 线索二叉树就是在二叉树上用线把各节点的前驱和后继画出来,要用有向线,所以图中大部分节点的连线都是双向的,除了首节点F,具体的线索二叉树可以去百度图片查看,我这不太好画出来。这种题目想要不出错答得快还是得“熟能生巧”

画出图所示二叉树所对应的中序线索二叉树
我的 画出图所示二叉树所对应的中序线索二叉树 5 画出图所示二叉树所对应的中序线索二叉树... 画出图所示二叉树所对应的中序线索二叉树 展开  我来答 1个回答 #热议# 晚舟必归是李白的诗吗?油条大巴 2017-07-15 · TA获得超过1818个赞 知道小有建树答主 回答量:293 采纳率:0% 帮助的人...

给定序列 6 8 5 7 9 3构建二叉排序树 并画出先序索二叉树
以此类推 将要插入的结点先跟根结点比较, 比根结点大进入右子树 反之进入 左子树;在跟进入的 左子树(右子树)的结点比较 方法同上;直到没有结点了 在插入; 你给的排序最后的二叉排序树如下;中序遍历结果是 : 3 4 5 6 7 8 9 ;先序遍历结果是 : 6 4 3 5 8 7 9 ;...

数据结构之线索二叉树
在后序线索二叉树中 查找指定结点*p的后序后继结点 1 若*p是根 则*p是该二叉树后序遍历过程中最后一个访问到的结点 2 若*p是其双亲的右孩子 则*p的后序后继结点就是其双亲结点 3 若*p是其双亲的左孩子 但*p无右兄弟时 *p的后序后继结点是其双亲结点 4 若*p是其双亲的左孩子 但*p有右...

如何用Java的方式设计一个后序线索二叉树的方法?
在Java中,你可以定义一个类来表示后序线索二叉树,其中包含有头节点、尾节点和当前节点指针。你可以使用递归或迭代方法遍历整棵树,并创建线索,即存储前驱和后继节点的指针。当访问到叶子节点时,需要将尾节点的指针指向它,尾节点的指针则指向头节点 \/\/ 定 ...

第六章(二):二叉树的基本知识点
3)后序遍历 规则是若树为空,则空操作返回,否则从左到右先叶子后结点的方式遍历访问左右子树,最后是访问根结点。遍历的顺序: GHDBIEFCA 指向前驱和后继的指针称为线索,加上线索的二叉链表称为线索链表,相应的二叉树就称为线索二叉树(Threaded Binary Tree) 结点结构如图所示:其中,ltag为0...

已知二叉树的先序遍历序列是AEFBGCDHIKJ,中序遍历序列是EFAGBCHKIJD...
二叉树把J换到I的右子树就好,后序遍历:FEGKJIHDCBA 线索二叉树就是在二叉树上用线把各节点的前驱和后继画出来,要用有向线,所以图中大部分节点的连线都是双向的,除了首节点F。include<stdio.h> include<stdlib.h> include<string.h> typedef struct BiTNode{ char e;struct BiTNode *lchild,...

什么是线索二叉树的线索数?
若二叉树有n个节点,则有n-1条边,占掉了n-1个指针域。剩下的2n-(n-1)=n+1个指针域(包括空指针)就是线索数。在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行遍历,使其变为线索二叉树的过程称为对二叉树进行线索化。

相似回答