原创代码,如有错误,欢迎批评指正
线索二叉树:
有 n 个结点的二叉树中必定存在 n+1 个空链域。因此,我们可以利用这些空链域存储结点的前驱和后继信息。同时为了区分存储的是左右结点还是线索,为树的结点添加了标志域说明
LTag | lchild | data | rchild | RTag |
上面提到了前驱和后继。因此,存储的线索与遍历方式有关。以最简单的二叉树为例
先序:ABC
中序:BAC
后序:BCA
对于B来说,我们选择将此树中序线索化,B的后继就是A,C的前驱是A。由于B前和C后没有结点,因此设置为NULL
线索化
以下两种方式