如图示,我们可以看到普通二叉树存储时会浪费很多空间存放空指针,怎么利用好这些空间呢?线索二叉树。
“线索”是啥呢?简单说,就是存放一个结点的前驱与后继的地址。
但是并不是所有二叉树结点都是有两个空位置,可能只有一个,又要怎么处理?
于是,线索二叉树的结点也作了些许改变:
ltag=0:指向该结点左孩子
ltag=1:指向该结点前驱
rtag=0:指向该结点右孩子
rtag=1:指向该结点后继
如图示,我们可以看到普通二叉树存储时会浪费很多空间存放空指针,怎么利用好这些空间呢?线索二叉树。
“线索”是啥呢?简单说,就是存放一个结点的前驱与后继的地址。
但是并不是所有二叉树结点都是有两个空位置,可能只有一个,又要怎么处理?
于是,线索二叉树的结点也作了些许改变:
ltag=0:指向该结点左孩子
ltag=1:指向该结点前驱
rtag=0:指向该结点右孩子
rtag=1:指向该结点后继