线索二叉树
@author 汪春波
为什么要有线索二叉树
把非线性结构的树形结构,转化为线性结构。
而这个树,我们只知道有左孩子 右孩子 根节点。
线 有前驱和后继
所以我们转换就会有一个线索二叉树
概念
二叉树在通常情况下是无法直接找到某结点在某种遍历序列中的前驱和后继结点的。而线索二叉树则通过利用二叉树上空的指针域来存放这些“线索”信息
线索二叉树的表示
若前驱结点不为空,而且其右指针域为空,则将根结点的地址赋给前驱结点的右指针域,并将前驱结点的右线索标志置1;若根结点的左指针域为空,则把前驱结点的地址赋给根结点的左指针域,同时将根结点的左线索标志置1;
将根结点地址赋给保存前驱结点指针的变量,以便当访问下一个结点时,此根结点成为前驱结点。
在图中,我们要记录D,的前驱B 和 后继 E