线索二叉树讲解

前言

这是我听老师讲课做的笔记。
作者:RodmaChen
关注我的csdn博客,更多数据结构与算法知识还在更新

线索二叉树

LTagRTag表示的就是标志,当LTag等于0,那么lchild的指针域就指向左孩子,如果等于1,就说明没有孩子,就放他的前驱(前驱就是他的父节点,后继就是遍历序列后一个数)。

相关的概念和定义

  1. 线索:指向结点前驱和后继的指针,叫做线索。
  2. 线索链表: 以这种结点结构(上图,五个域)构成的二叉链表作为二叉树的存储结构,叫做线索链表。
  3. 线索二叉树(Threaded Binary Tree) :加上线索的二叉
    树称之为线索二叉树。
  4. 线索化:对二叉树以某种次序遍历使其变为线索二叉
    树的过程叫做线索化。

边学边练

(1)画出图(a)的先序、中序、后序线索化

解题思路:先写遍历序列在画图
在这里插入图片描述
解题答案:

先序序列:ABDCEFGHI
中序序列:DBAFECHGI
后序序列:DBFEHIGCA
画图:其中实线为指针(指向左、右子树),虚线为线索(指向前驱和后继)。

(2)已知一棵完全二叉树的第6层(设根为第1层)有8个叶结
点,则该完全二叉树的结点个数最多是(c)考研题难度
A.39 B.52 C.111 D.119

这道题有两个坑:

第一个:他不只有六层
第二个:并没有说第六层只有八个结点

解题思路:
1.第6层最多的结点是2^5,由于有8个叶子结点,所以还有24个结点是空的或者是存在的
2.由于要有最多的结点,则说明还有第7层(叶子结点是最后一个),第7层结点数是24x2个,所以最多有 2^6-1+24x2

(3)对于前序遍历与中序遍历结果相同的二叉树为(F); 对于前序遍历和后序遍历结果相同的二叉树为(B)。
A.一般二叉树
B.只有根结点的二叉
C.根结点无左孩子的二叉树
D.根结点无右孩子的二叉树
E.所有结点只有左子数的二叉树
F.所有结点只有右子树的二叉树

N0R
0NR
NLR
LRN

(4) 一棵左子树为空的二叉树在先序线索化后,其中
空的链域的个数是:( )
A.不确定 B. 0 C. 1 D. 2
思路:前驱后继

总结

在这里插入图片描述

本人博客:https://blog.csdn.net/weixin_46654114
本人b站求关注:https://space.bilibili.com/391105864
转载说明:跟我说明,务必注明来源,附带本人博客连接。

请给我点个赞鼓励我吧
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46654114/article/details/106291553