线索二叉树 由于具有N个节点的二叉查找树有N+1的NULL指针,因此在二叉查找树中指定给指针信息的空间的一半被浪费了。 若一个节点有一个NULL左孩子,我们使它的左儿子指向它的 中缀前驱(inorder predecessor) ,若一个节点有一个NULL右孩子,我们让它的右儿子指向它的 中缀后继( ...
分类:
其他好文 时间:
2020-01-29 14:31:16
阅读次数:
82
#include #include using namespace std; struct BiThrNode { int data; BiThrNode *left; BiThrNode *right; bool ltag;//0表示left指向左子,1表示left指向直接前驱 bool rtag... ...
分类:
其他好文 时间:
2019-05-23 20:50:36
阅读次数:
94
1、前言 普通二叉树仅仅能找到结点的左右孩子信息。而该结点的直接前驱和直接后继仅仅能在遍历过程中获得。 若可将遍历后相应的有关前驱和后继预存起来,则从第一个结点開始就能非常快“顺藤摸瓜”而遍历整个树了。 二叉线索树思想是干什么的? 中序遍历这棵树 》转换成链表訪问 2线索化思想 结论:线索化过程就是 ...
分类:
其他好文 时间:
2017-04-12 18:34:02
阅读次数:
208
1、定义与基本术语 树的结构定义 其他表示树的方法: 其他术语: 2、二叉树 1)定义: 性质: 2)满二叉树与完全二叉树 3、存储结构 4、遍历二叉树 伪代码 中序遍历非递归算法 前序遍历构建二叉树 5、线索二叉树 中序遍历线索二叉树 后序线索二叉树 中序遍历二叉线索树 非递归算法 6、树和森林 ...
分类:
其他好文 时间:
2016-12-19 10:46:53
阅读次数:
199
线索化是为了能够像链表一样遍历树。线索化概念1、前言普通二叉树只能找到结点的左右孩子信息,而该结点的直接前驱和直接后继只能在遍历过程中获得。若可将遍历后对应的有关前驱和后继预存起来,则从第一个结点开始就能很快“顺藤摸瓜”而遍历整个树了。二叉线索树思想是干什么的?中序遍历这棵树===》转换成链表访问2...
分类:
其他好文 时间:
2015-09-16 15:31:45
阅读次数:
120
在上一篇数据结构的博文《数据结构(三):非线性逻辑结构-二叉树》中已经对二叉树的概念、遍历等基本的概念和操作进行了介绍。本篇博文主要介绍几个特殊的二叉树,堆、哈夫曼树、二叉搜索树、平衡二叉搜索树、线索二叉树,它们在解决实际问题中有着非常重要的应用。本文主要从概念和一些基本操作上进行分类和总结。
一、概念总揽
(1) 堆
堆(heap order)是一种特殊的表,如果将它看做是一颗完全二叉树的...
分类:
其他好文 时间:
2015-08-05 01:06:22
阅读次数:
208
1、前言
普通二叉树只能找到结点的左右孩子信息,而该结点的直接前驱和直接后继只能在遍历过程中获得。
若可将遍历后对应的有关前驱和后继预存起来,则从第一个结点开始就能很快“顺藤摸瓜”而遍历整个树了。
二叉线索树思想是干什么的?
中序遍历这棵树===》转换成链表访问
2线索化思想
结论:线索化过程就是在遍历过程(假设是中序遍历)中修改空指针的...
分类:
其他好文 时间:
2015-07-19 21:50:01
阅读次数:
153