数据结构重学日记(二十四)线索二叉树

线索二叉树是不借助栈而借助链表实现的非递归遍历方式。

在之前的操作中,n 个结点的二叉树就有 n + 1 个空指针,这就造成了很大浪费,所以可以将空指针利用起来,存放其他结点的地址,这样更便于索引。

还以这个树为例, 中序遍历的顺序为 D G B A E C F,G 没有左右子树,下一个结点为 B,所以把 G 的右指针存为 B,B 没有右子树,所以把 B 的右指针设置为 A 。A 的右子树不空,所以就不管它。

G 的左子树为空,所以 G 的左指针指向 D。

指向前驱后继的指针称为线索。
加入线索的二叉链表就称为 线索二叉树

二叉树

线索二叉树是为了解决二叉树存储存在大量空指针的问题。也可以加快查询某个结点前驱后继的速度。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 6,132评论 0 13
  • 1.树和二叉树的定义 (1) 树的定义 树是n (n≥0) 个结点的有限集。 n=0 时称为空树。在任意一棵非空树...
    yinxmm阅读 2,504评论 0 3
  • 目录 1、什么是树 2、相关术语 3、二叉树 3.1、二叉树的类型 3.2、二叉树的性质 3.3、二叉树的结构 3...
    我哈啊哈啊哈阅读 2,625评论 0 10
  • 一、 概念 二叉树按照先序、中序、后续遍历的方法形成一个线性序列后,每个结点(除第一个和最后一个外),都有且仅有一...
    Qi0907阅读 1,558评论 0 1
  • 感赏儿子在这学期又开始爱上阅读,玩手机的时间明显的少了很多。感赏儿子能回家跟我分享跟同学的相处,对老师的看法。感赏...
    0324_cb8d阅读 140评论 0 0