数据定义: 1 /* 2 * 枚举类型定义 NO -> 没有线索化 YES -> 线索化了的 3 */ 4 enum Thread { NO, YES } 5 6 /* 7 * 线索二叉树的结点类型定义 8 */ 9 struct Node10 {11 Element...
分类:
其他好文 时间:
2014-07-19 14:32:38
阅读次数:
215
本文用先序、中序、后序、层次遍历4种方式实现了对线索二叉树的线索化,然后分别用上述4种方式实现了线索化的遍历。二叉树中容易找到结点的左右孩子信息,但该结点在某一序列中的直接前驱和直接后继只能在某种遍历过程中动态获得。先依遍历规则把每个结点某一序列中对应的前驱和后继线索预存起来,这叫做"线索化"。意义...
分类:
其他好文 时间:
2014-07-19 11:16:28
阅读次数:
195
文章将自己在学习线索二叉树的过程中遇到过的疑问整理记录了下来,也都对最后的处理结论做了尽可能详细的描述。并对其中二叉树的两个重要性质做了详细的推导。虽然不能保证所有的推导都是正确的,但它们代表了自己目前的认知水平。另外在结尾还制作了一个简单的线索二叉树程序。...
分类:
其他好文 时间:
2014-07-13 16:07:31
阅读次数:
230
出题:线索二叉树(Threaded Binary
Tree)分析:为除第一个节点外的每个节点添加一个指向其前驱节点的指针,为除最后一个节点外的每个节点添加一个指向其后续节点的指针,通过这些额外的指针可以某种遍历方式对二叉树进行遍历,而加了这些额外指针的二叉树就是线索二叉树;对于含有N个节点的二叉树而...
分类:
其他好文 时间:
2014-05-26 18:39:13
阅读次数:
273
昨天写了个二叉树遍历,自以为对二叉树很了解了。自大的认为线索二叉树不过是加了点线索而已,不足挂齿。可是当真的自己编程序写的时候才发现完全不是那么容易。在有线索的情况下,如何判别Link类型的下一节点,如何不用栈跳过已访问节点搞得脑子晕晕的。
折腾一个晚上,才根据书上把线索二叉树的建立、中序遍历给写出...
分类:
其他好文 时间:
2014-05-19 19:30:19
阅读次数:
210
中序线索二叉树/************************************************************************线索二叉树二叉树的节点有五部分构造-----------------------------------------|
lChild | l...
分类:
其他好文 时间:
2014-05-19 15:59:35
阅读次数:
285
我们先来看一张之前整理过的一张二叉树的链式存储结构
1、每个数据域,都有2个指针域,分别指向该节点的左孩子、右孩子,但是每个节点前驱、后继,要知道的话需要遍历整棵树,这在时间上耗费很大。
2、另外,在叶子节点中,我们可以看到如图,每个节点都会浪费2块存储空间,N个节点的二叉树,2N个指针域,连接线为2N-1,那么会有2N-(N-1) = N+1个指针域浪费掉。
为了优化以上2...
分类:
其他好文 时间:
2014-05-15 13:30:19
阅读次数:
283