码迷,mamicode.com
首页 > 其他好文 > 详细

线索二叉树--二叉树线索化

时间:2018-10-15 18:20:24      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:存储结构   左右   bsp   read   struct   ==   节点   data   修改   

遍历二叉树是对非线性结构进行线性化操作,在得到的访问序列中,每个节点都只有一个直接前去和一个直接后继。

引入线索二叉树可以加快查找前去于后继节点的速度,实质就是将二叉链表中的空指针改为指向前驱或者后继的线索,线索话就是在遍历中修改空指针。

通常规定:对某一结点,若无左子树,将lchild指向前驱结点;若无右子树,将rchild指向后继结点。

还需要设置左右两个tag,用来标记当前是否有子树。

若tag == 1,lchild指向结点前去;若rtag == 1,rchild指向结点后继。

线索二叉树的存储结构如下:

typedef struct TreadNode{

    Elemtype data;

    struct TreadNode *lchild, *rchild;

    int ltag,rtag;

}ThreadNode, *ThreadNode;

线索二叉树--二叉树线索化

标签:存储结构   左右   bsp   read   struct   ==   节点   data   修改   

原文地址:https://www.cnblogs.com/xk-bench/p/9792069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!