一、线索二叉树
1.线索二叉树的概念
对于 具有n个节点的二叉树,采用二叉链存储结构时, 每个节点有两个指针域, 总共有2n个指针域,又由于 只有n-1个节点被有效指针所指向(n个节点中只有 树根节点没有被有效指针域所指向),则共有2n-(n-1)= n+1个空链域。遍历二叉树的结果是一个节点的线性序列。可以利用这些空链域存放指向节点的前驱和后继节点的指针。
这样的指向该线性序列中的“前驱”和“后继”的指针,称作线索。
在节点的存储结构上增加两个标志位来区分这两种情况:
左标志ltag 0 表示lchild指向左孩子节点
1 表示lchild指向前驱节点
右标志rtag 0 表示rchild指向右孩子节点