1、什么是线索二叉树线索化的二叉树就是:在原有的二叉树基础上有些改动,将没有孩子结点的链域声明为线,左孩子指向前驱,右孩子指向后继节点;有孩子结点的为链,表示指向原先的左右孩子;线索二叉树的基本存储结构如下:2、中序二叉树的图形表示线索二叉树无需遍历,可以很..
分类:
其他好文 时间:
2016-08-08 07:42:21
阅读次数:
276
线索化二叉树将二叉树变为线索二叉树的过程称为线索化。按某种次序将二叉树线索化的实质是:按该次序遍历二叉树,在遍历过程中用线索取代空指针。代码:#pragmaonce
enumPointTag{
LINK,
THREAD,
};
template<classT>
structBinaryTreeNode{
T_data;
BinaryTreeNode&..
分类:
其他好文 时间:
2016-07-31 16:12:55
阅读次数:
199
恢复内容开始 遍历二叉树是以一定规则将二叉树中结点排列成一个线性序列即是对一个非线性结构进行线性化操作,使除第一个和最后一个节点外,每一个节点有且只有一个直接前驱,直接后继 二叉树作为存储结构只能找到节点的左孩子右孩子信息,而不能直接得到结点在任一序列中的前驱和后继,这种信息只有在遍历的动态过程中可 ...
分类:
其他好文 时间:
2016-06-26 00:25:50
阅读次数:
122
二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或者用栈辅助实现非递归的遍历。用二叉树作为存储结构时,取到一个节点,只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱或者后继。为了保存这种在遍历中需要的信息,我们利用二叉树中指向左右子树的..
分类:
编程语言 时间:
2016-05-28 23:27:28
阅读次数:
265
1. 基本概念 在链式存储中,发现二叉链表中存在大量的空指针,如果利用这些空指针指向其直接前驱或后继的指针,则可以更方便地运用某些二叉树操作算法。二叉树的线索化,是为了加快查找结点前驱和后继的速度。 在有N个结点的二叉树中,存在N+1个空指针。每个叶结点有2个空指针,度为1的结点有1个空指针,总的空 ...
分类:
其他好文 时间:
2016-05-28 13:00:40
阅读次数:
291
前序线索化:void_PrevOrderThreading(Node*cur,Node*&prev)
{
if(cur==NULL)
{
return;
}
if(cur->_left==NULL)
{
cur->_leftTag==THREAD;
cur->_left=prev;
}
if(prev&&prev->_right==NULL)
{
prev->_rightTag=THREAD;
prev->_right=cur;
}
pr..
分类:
其他好文 时间:
2016-05-19 06:50:27
阅读次数:
453
二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或者用栈辅助实现非递归的遍历。用二叉树作为存储结构时,取到一个节点,只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱或者后继。为了保存这种在遍历中需要的信息,我们利用二叉树中指向左右子树的..
分类:
其他好文 时间:
2016-05-13 04:52:07
阅读次数:
157