线索化二叉树时,一个节点的前一个节点,叫前驱节点 线索化二叉树时,一个节点的后一个节点,叫后继节点 ...
分类:
其他好文 时间:
2018-11-20 15:18:32
阅读次数:
143
遍历二叉树是对非线性结构进行线性化操作,在得到的访问序列中,每个节点都只有一个直接前去和一个直接后继。 引入线索二叉树可以加快查找前去于后继节点的速度,实质就是将二叉链表中的空指针改为指向前驱或者后继的线索,线索话就是在遍历中修改空指针。 通常规定:对某一结点,若无左子树,将lchild指向前驱结点 ...
分类:
其他好文 时间:
2018-10-15 18:20:24
阅读次数:
200
在工程中,很多时候二叉树一旦建立就不会轻易改动,这样的二叉树就用于遍历,我们讲了先序遍历、中序遍历、后续遍历三种方式,都是递归完成的,在工程中,如果对一棵二叉树反复的执行遍历,效率很低,递归的效率是比较低的。 改进的做法就是将遍历的结果保存下来,下一次遍历时直接用这个结果。 在工程中另一种需求就是, ...
分类:
其他好文 时间:
2018-09-24 16:58:38
阅读次数:
144
线索二叉树 基本概念: n个结点的二叉链表中共有2n个链域,但只有n-1个有用的非空链域,其余n+1个是空的,利用这n+1个空链域来存放遍历过程中结点的前驱和后继;规定:若结点有左子树,则其LChild指向左孩子,否则LCHild指向前驱;若结点有右子树,则其RChild域指向右孩子,否则指向后继。 ...
分类:
其他好文 时间:
2018-09-21 23:17:56
阅读次数:
391
中序线索化 二叉树节点定义: 在中序遍历的过程中完成线索化 遍历中序线索二叉树 ...
分类:
其他好文 时间:
2018-08-04 15:43:05
阅读次数:
123
“遍历”是二叉树各种操作的基础,可以在遍历过程中对节点进行各种操作,如:求节点的双亲,求节点的孩子,判断节点的层次,当然,还有一些更重要的操作,例如,依据遍历序列建立二叉树,,再如,对建立的二叉树进行线索化,等等。 二叉树的各种遍历操作必须了然于心,无论是递归的,还是非递归的。递归算法的优点是形式简 ...
分类:
其他好文 时间:
2018-07-15 23:27:57
阅读次数:
179
为什么二叉树为什么总是可以按照中序遍历线索化空指针是够但怎么保证不会有一个有左右孩子的节点不被别人指到想了想可以用类似于数学归纳法这样证明: 先讨论三种最简单的情形 1. ab c b左指针预留b右指针指向ac左指针指向ac右指针预留2. ab NULL b左指针预留b右指针指向a右指针预留3. a ...
分类:
其他好文 时间:
2018-05-13 21:02:39
阅读次数:
164
1.学习总结(2分) 1.1树结构思维导图 1.2 树结构学习体会 树是一种重要的非线性结构,树的调用还跟递归有关 困难就是伪代码与代码之间的转换,还有递归调用和非递归算法都不是很清晰,写代码困难 可以解决的问题有求树的高度,与森林之间的转换,线索化二叉树,哈夫曼树的WPL和编码 2.PTA实验作业 ...
分类:
其他好文 时间:
2018-05-05 20:39:44
阅读次数:
239
①二叉树的遍历是指从根结点开始,按照某种次序依次访问二叉树中的所有结点 ②二叉树遍历方式(所谓前序、中序、后序,是对根结点来说的) 1.前序遍历 2.中序遍历 3.后续遍历 4.层次遍历 前序遍历:1、2、4、8、9、5、10、3、6、7 中序遍历:8、4、9、2、10、5、1、6、3、7 后序遍历 ...
分类:
其他好文 时间:
2018-03-29 14:52:30
阅读次数:
170
二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或者用栈辅助实现非递归的遍历。二叉树作为存储结构时,一个节点只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱或者后继。为了保存这种在遍历中需要的信息,我们利用二叉树中指向左右子树的空指针来存放节点的前驱或后继信息。 也就是说,线索二 ...
分类:
其他好文 时间:
2018-03-01 17:33:10
阅读次数:
181