知识大全 数据结构之线索二叉树

Posted 结点

篇首语:你最愿意做的那件事,才是你真正的天赋所在。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构之线索二叉树相关的知识,希望对你有一定的参考价值。

基本概念  用五个标志域来存储结点的结构    以这种结点结构构成的二叉链表作为二叉树的存储结构叫做线索链表(Threaded Linked Lists)   线索 指向结点前驱和后继的指针   线索二叉树(Threaded Binary Tree) 加上线索的二叉树   线索化 对二叉树以某种次序遍历使其变为线索二叉树的过程 在结构示意图中 指针用实线表示 线索通常用虚线表示   线索二叉树的存储结构 二叉树按中序线索化的算法  线索二叉树上常用运算

  查找某结点*p在指定次序下的前趋和后继结点   在中序线索二叉树中 查找指定结点*p的中序后继结点和中序前趋结点   1 若结点*p的左子树(或右子树)非空 则*p的中序前趋(或中序后继)是从*p的左孩子(或右孩子)开始往下查找 由于二叉链表中结点的链域是向下链接的 所以在非线索二叉树中亦同样容易找到*p的中序前趋(或中序后继)   2 若结点*p的左子树(或右子树)为空 则在中序线索二叉树中是通过*p的左线索(或右线索)直接找到*p的中序前趋(或中序后继) 但中序线索一般都是 向上 指向其祖先结点 而二叉链表中没有向上的链接 因此在这种情况下 对于非线索二叉树 仅从*p出发无法找到其中序前趋(或中序后继) 而必须从根结点开始中序遍历 才能找到*p的中序前趋(或中序后继)

  在后序线索二叉树中 查找指定结点*p的后序前趋结点   1 若*p的左子树为空 同p >lchild是前趋线索 指示其后序前趋结点   2 若*p的左子树非空 则p >lchild不是前趋线索 当*p的右子树非空时 *p的右孩子必是其后序前趋

  在后序线索二叉树中 查找指定结点*p的后序后继结点   1 若*p是根 则*p是该二叉树后序遍历过程中最后一个访问到的结点   2 若*p是其双亲的右孩子 则*p的后序后继结点就是其双亲结点   3 若*p是其双亲的左孩子 但*p无右兄弟时 *p的后序后继结点是其双亲结点   4 若*p是其双亲的左孩子 但*p有右兄弟 则*p的后序后继是其双亲的右子树中第一个后序遍历到的结点 它是该子树中 最左下的叶结点

遍历线索二叉树

cha138/Article/program/sjjg/201311/23149

相关参考

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[25]

  .写出在中序线索二叉树里找指定结点在后序下的前驱结点的算法【河海大学七(分)】  .设中序穿线二叉树的结点由五个域构成info:给出结点的数据场之值LL当LT为时则给出该结点的左儿子之地址当LT为

知识大全 树 - 线索二叉树 (二)

  二叉树的线索化  线索化和线索化实质  将二叉树变为线索二叉树的过程称为线索化  按某种次序将二叉树线索化的实质是按该次序遍历二叉树在遍历过程中用线索取代空指针  具体过程可  二叉树的中序线索化

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (二)[3]

  .任何二叉树的后序线索树进行后序遍历时都必须用栈【西安交通大学二(分)】  .任何一棵二叉树都可以不用栈实现前序线索树的前序遍历【西安交通大学二(分)】  .由一棵二叉树的前序序列和后序序列可以唯

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (三)[7]

  .设y指向二叉线索树的一叶子x指向一待插入结点现x作为y的左孩子插入树中标志域为ltag和rtag并规定标志为是线索则下面的一段算法将x插入并修改相应的线索试补充完整(lchildrchild分别

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (三)[23]

  .如下的算法分别是后序线索二叉树求给定结点node的前驱结点与后继结点的算法请在算法空格处填上正确的语句设线索二叉树的结点数据结构为(lflagleftdatarightrflag)其中lflag

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (三)[22]

  .下面的算法在中序线索树中找由指针所指结点的后继并由指针指向该后继结点试补充完整(线索树的结点有五个域datalchildrchild左右标志域ltagrtag并规定标志指向孩子指向线索  PRO

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[24]

  给出中序线索树的结点结构并画出一个具有头结点的中序线索树使其树结点至少应有个写一算法在不使用栈和递归的情况下前序遍历一中序线索树并分析其时间复杂性【东南大学三(分)三(分)六(分)】  .设有二叉

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (四)[22]

  .请说明是否存在这样的二叉树即它可以实现后序线索树进行后序遍历时不使用栈而对前序线索树进行前序遍历时又有什么样的二叉树可不使用栈【西安电子科技大学二(分)】  .一棵左右子树均不空的二叉树在先序线

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[23]

  .编写程序段利用中序全线索树求其中任意结点p^的前序后继结点结果仍用p指出要求先描述结构和算法思路设线索树不带头结点其中序序列第一结点的左标志和最后结点的右标志皆为0(非线索)对应指针皆为空【北京

知识大全 线索二叉树

线索二叉树概念.定义  n个结点的二叉链表中含有n+个空指针域利用二叉链表中的空指针域存放指向结点在某种遍历次序下的前趋和后继结点的指针(这种附加的指针称为线索)  这种加上了线索的二叉链表称为线索链