线索二叉树--二叉树线索化
Posted xk-bench
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线索二叉树--二叉树线索化相关的知识,希望对你有一定的参考价值。
遍历二叉树是对非线性结构进行线性化操作,在得到的访问序列中,每个节点都只有一个直接前去和一个直接后继。
引入线索二叉树可以加快查找前去于后继节点的速度,实质就是将二叉链表中的空指针改为指向前驱或者后继的线索,线索话就是在遍历中修改空指针。
通常规定:对某一结点,若无左子树,将lchild指向前驱结点;若无右子树,将rchild指向后继结点。
还需要设置左右两个tag,用来标记当前是否有子树。
若tag == 1,lchild指向结点前去;若rtag == 1,rchild指向结点后继。
线索二叉树的存储结构如下:
typedef struct TreadNode{
Elemtype data;
struct TreadNode *lchild, *rchild;
int ltag,rtag;
}ThreadNode, *ThreadNode;
以上是关于线索二叉树--二叉树线索化的主要内容,如果未能解决你的问题,请参考以下文章
遍历二叉树 traversing binary tree 线索二叉树 threaded binary tree 线索链表 线索化