中序线索化的遍历

给出一个已经中序线索化的二叉树,怎么写出它的中序遍历序列

如果已经有前驱线索或者后继线索那就好办了,直接访问线索就行,问题就麻烦在之前就有左右子树并没有线索怎么办?

目标

能够写出从前往后的中序遍历序列也能写出从后往前的中序遍历序列

如何得到中序线索化后结点的后继结点

1、若有后续线索
那么后续线索指向的结点就是后继结点
2、若没有后续线索,那么该结点原来有右孩子结点
那么该结点的的右子树的最左下的结点就是后继结点
通过这种方法,可以从第一个结点开始写出整棵树的中序遍历序列
image

如何得到中序线索化后结点的前驱结点

1、若有前驱线索
那么前驱线索指向的结点就是前驱结点
2、若没有前驱线索,那么该结点原来就有左孩子结点
那么该结点的的左子树的最右下的结点就是前驱结点
通过这种方法,可以从最后一个结点开始写出整棵树的中序遍历序列
image

posted @ 2021-06-17 09:06  风中少年呀  阅读(177)  评论(0)    收藏  举报