1. 树与二叉树 1)定义性质 3)存储 4)基本操作 2. 二叉树的遍历 1)先序 2)中序 3)后序 4)层序 5)二叉树静态实现 3. 树的遍历 1)二叉树静态实现 2)先根遍历 3)层序遍历 4)从树的遍历看DFS BFS 4. 二叉查找树(BST) 1)定义性质 2)基本操作 5. 平衡二 ...
分类:
其他好文 时间:
2018-04-13 22:26:17
阅读次数:
145
1. 二叉树遍历(递归和非递归) 构造二叉树: 递归版前序遍历: 递归版中序遍历: 递归版后序遍历: 非递归版前序遍历: 非递归版中序遍历: 非递归版后序遍历: 这里用了两个栈,其实一个栈也能实现,这里这样做是因为可以和前序遍历对比着记,比较容易。 ...
分类:
编程语言 时间:
2018-04-11 21:47:06
阅读次数:
165
ANTLR v4是一款强大的语法分析器生成器,可以用来读取、处理、执行和转换结构化文本或二进制文件。通过称为文法的形式化语言描述,ANTLR可以为该语言自动生成词法分析器。生成的语法分析器可以自动构建语法分析树,它是表示文法如何匹配输入的数据结构。ANTLR还可以自动生成树遍历器,用来访问树节点以执 ...
分类:
其他好文 时间:
2018-04-09 17:16:16
阅读次数:
182
以下序列中不可能是一颗二叉查找树的后序遍历结构的是:(B) A: 1,2,3,4,5 B: 3,5,1,4,2 C: 1,2,5,4,3 D: 5,4,3,2,1 二叉查找树:左子树比根小,右子树比根大后序遍历的遍历顺序:左右根中序遍历的遍历顺序:左根右前序遍历的遍历顺序:根左右A中根是5:1234 ...
分类:
其他好文 时间:
2018-04-04 20:48:30
阅读次数:
113
中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历、中序周游。在二叉树中,先左后根再右。巧记:左根右。 现在有一个问题,已知二叉树的前序遍历和中序遍历:PreOrder: GDAFEMHZInOrder: ADEFGHMZ我们如何还原这颗二叉树,并求出他的后序遍历? 我们基于一个事实:中序遍历一定 ...
分类:
其他好文 时间:
2018-03-30 18:33:44
阅读次数:
139
①二叉树的遍历是指从根结点开始,按照某种次序依次访问二叉树中的所有结点 ②二叉树遍历方式(所谓前序、中序、后序,是对根结点来说的) 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
2.3.4 树 遍历:前中后序,宽度优先。 二叉树的特例:二叉搜索树、堆(最大堆和最小堆,用于找最值)、红黑树(c++ STL中的很多数据结果就是基于这实现的); 题7-重建二叉树:递归,设置四个位点; 题8-二叉树的下一个节点 ...
分类:
编程语言 时间:
2018-03-28 21:58:29
阅读次数:
186
1.关于二叉树的定义 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序 ...
分类:
其他好文 时间:
2018-03-20 18:13:05
阅读次数:
220
节点定义如下 前序遍历: 若二叉树为空,则空操作返回,否则: 中序遍历: 若二叉树为空,则空操作返回,否则: 后序遍历: 若二叉树为空,则空操作返回,否则: 1. 递归方法 前序遍历: 中序遍历: 后序遍历: 2.迭代方法(使用栈) 前序遍历: 中序遍历: ...
分类:
其他好文 时间:
2018-03-17 10:54:37
阅读次数:
188