线索二叉树是
(物理)结构=存储结构
解析:二叉树是一种逻辑结构,但是线索二叉树加上线索后的链表结构,即它是二叉树在计算机内部的一种存储结构,所以是一种物理结构
注意:无逻辑和存储结构
这一说法,它其实就是“物理结构”,但是没有这个说法!
一、引入线索二叉树目的
引入线索二叉树是为了查找结点前驱和后继的速度,知道了"前驱"、"后继"信息,就可以把二叉树看作一个链表结构
,从而可以像遍历链表一样遍历二叉树
二、线索二叉树的规定
规定:若无左子树,令lchild指向其前继结点;
若无右子树,令rchild指向其后继结点;
另外还需要增加两个标志域指向左(右)孩子还是指向前驱(后继)
标识域含义如下:
以这种结点结构构成的二叉链表作为二叉树的存储结构,成为线索链表;
其中指向结点和后继的指针成为线索,加上线索的二叉树成为线索二叉树;
三、线索二叉树的构建
步骤:
- 求遍历
- 看空域
- 连线-左右
举例说明:
先序线索
二叉树的构建
1.首先我们将此二叉树的的先序遍历此二叉树得到结果
ABCDE
2.从二叉树我们可以看出A连接了BE,因此A没有空域,我们写0;
B也连接了CD,因此没有空域,我们写0;
C没有连接子树,因为我们是二叉树,所以有两个空域
3.A、B没有空狱,不需要连线,C有两个空域,从遍历结果可以看到C左边是A,右边是C,所以连线连左右边
4.E有两个空域,但是只有左边,所以E的右边指向null
中序线索
二叉树的构建
方法都是一样的,下面直接放结果:
后序线索
二叉树的构建