美文网首页
线索二叉树

线索二叉树

作者: 小幸运Q | 来源:发表于2018-09-14 14:15 被阅读10次

结点结构:

image.png
image.png

算法流程:

算法与中序遍历算法类似,只需要将遍历算法中访问结点的操作具体化为建立正在访问的结点与其非空中序前趋结点间线索。

a). 若上次访问到的结点的右指针为空,则将当前访问到的结点序号填入,并置右标志域为 1

b). 若当前访问到的结点的左指针为空,则将上次访问到的及诶单序号填入,并置左标志域为 1

void InThread(Node *p,Node* pre){
  if(p){  // p 非空
    InThread(p->left,pre);
    /*中间是中序遍历的核心处理过程*/
    if(p->left==NULL){
      p->left=pre;
      p->ltag=1;
    }
    if(pre&&pre->right==NULL){
      pre->right=p;
      pre->rtag=1;
    }
    pre=p;
    /*中间是中序遍历的核心处理过程*/
    InThread(p->right,pre);
  }
}

相关文章

  • 线索二叉树操作

    树节点 创建中序线索二叉树 遍历中序线索二叉树 创建前序线索二叉树 遍历前序线索二叉树 参考:https://bl...

  • 二叉树—线索二叉树

    1、线索二叉树的引入 在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或...

  • javascript线索化二叉树

    定义二叉树创建方法 对二叉树进行中序线索化 遍历线索二叉树 测试

  • 数据结构线索二叉树

    线索二叉树构成 线索化的节点 实现

  • 数据结构与算法分析四 树(续)

    ** 顺序存储 ** 线索化二叉树 线索化代码实现

  • 理解线索二叉树

    原链接:理解线索二叉树|CloudWong 线索二叉树原理 遍历二叉树的其实就是以一定规则将二叉树中的结点排列成一...

  • 数据结构题目56:线索二叉树的更新

    题目:线索二叉树的更新所谓线索二叉树的更新是指在线索二叉树中插入一个结点或者删除一个结点。一般情况下,这些操作有可...

  • 数据结构与算法13-线索二叉树

    定义 在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行遍历...

  • 线索化二叉树的实现

    概念   在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行...

  • 数据结构与算法[线索化二叉树]

    在二叉树的结点上加上线索的二叉树称为线索二叉树,对二叉树以某种遍历方式(如先序、中序、后序或层次等)进行遍历,使其...

网友评论

      本文标题:线索二叉树

      本文链接:https://www.haomeiwen.com/subject/udrogftx.html