树——二叉树的线索化

Posted swenw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树——二叉树的线索化相关的知识,希望对你有一定的参考价值。

关于树真的是非常的不好理解,看了很多其他人的博客,修修改改,拼拼凑凑。

为什么要将二叉树线索化?因为它有很多的空指针(n+1个),而每次我们在遍历二叉树的时候想找一个节点的前驱和后继都得把二叉树完全遍历一遍

可是如果有了一个标志,一个关于指向其前驱或者是后继的线索,那么就会高效很多。

typedef char TElemType;
typedef int Status;
typedef enum{
    Link,Thread
}PointerTag;
typedef struct BitNode{
    TElemType data;
    struct BitNode *lchild,*rchild;
    PointerTag LTag,RTag;
}BitNode,*BiTree;

线索化的实质就是将二叉链表中的空指针改为指向前驱或后继的线索










以上是关于树——二叉树的线索化的主要内容,如果未能解决你的问题,请参考以下文章

数据--第37课 - 线索化二叉树

数据结构二叉树

超强二叉树解析.必收藏!(数组,链表实现,8种遍历方法,前,中,后序线索化二叉树及其遍历)---风之java

算法系列之线索化二叉树,前序线索化中序线索化后序线索化以及遍历~

数据结构1:中序线索化二叉树思考

树——二叉树的线索化