zoukankan      html  css  js  c++  java
  • 线索二叉树--二叉树线索化

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

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

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

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

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

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

    typedef struct TreadNode{

        Elemtype data;

        struct TreadNode *lchild, *rchild;

        int ltag,rtag;

    }ThreadNode, *ThreadNode;

  • 相关阅读:
    构建之法阅读笔记03
    构建之法阅读笔记02
    构建之法阅读笔记01
    人月神话阅读笔记03
    人月神话阅读笔记02
    人月神话阅读笔记01
    关于APP“跑跑”
    软件设计模式24
    软件构造9
    软件构造8
  • 原文地址:https://www.cnblogs.com/xk-bench/p/9792069.html
Copyright © 2011-2022 走看看