一、概念 1、前序遍历: 2、中序遍历: 3、后序遍历 4、层次遍历 从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印 二、代码 2.1 首先定义TreeNode 2.2 代码 ...
分类:
其他好文 时间:
2019-04-05 12:20:44
阅读次数:
167
Tree UVA - 548 题意就是多次读入两个序列,第一个是中序遍历的,第二个是后序遍历的。还原二叉树,然后从根节点走到叶子节点,找路径权值和最小的,如果有相同权值的就找叶子节点权值最小的。 最后输出来叶子节点。 一开始写的时候是用gets读入的,报CE, 要用fgets写,关于fgets(), ...
分类:
其他好文 时间:
2019-04-03 20:44:01
阅读次数:
251
小史:树的话,无非就是前中后序遍历、二叉树、二叉搜索树、平衡二叉树,更高级一点的有红黑树、B 树、B+ 树,还有之前你教我的字典树。 红黑树 一听到红黑树,小史头都大了,开始抱怨了起来。 小史:红黑树看过很多遍了,但是每次都记不住,它的规则实在是太多了,光定义就有四五条规则,还有插入删除的时候,需要 ...
分类:
数据库 时间:
2019-03-31 09:35:59
阅读次数:
190
L2-006 树的遍历 题目链接 L2-006 树的遍历 (25 分) L2-006 树的遍历 (25 分) L2-006 树的遍历 (25 分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤),是二叉树 ...
分类:
其他好文 时间:
2019-03-30 01:30:30
阅读次数:
290
给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树的层序遍历的序列。数字间以1个 ...
分类:
其他好文 时间:
2019-03-29 11:44:18
阅读次数:
144
题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解题思路: 根据二叉搜索的性质,后序遍历是先搜索左子树,再右子数,最后是根结点。对应到序列中就是,序列的最后一位为根结点,从头开始遍历序列中一段连续 ...
分类:
其他好文 时间:
2019-03-26 22:31:02
阅读次数:
139
题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 平衡二叉树:任意节点的左右子树的深度相差不超过1。 测试序列 解题思路 1)判断每个节点的左右子树的深度差是否不超过1。不建议该代码。因为是从root节点开始遍历,会存在每个节点遍历多次的情况。 2)每个节点遍历一遍的情况;使用后序遍历。增加 ...
分类:
其他好文 时间:
2019-03-25 21:54:33
阅读次数:
203
105. 从前序与中序遍历序列构造二叉树 (没思路,典型记住思路好做) 根据一棵树的前序遍历与中序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 返回如下的二叉树: 链接:https://www.nowcoder.com/questionTerminal/0ee054a8767c ...
分类:
其他好文 时间:
2019-03-25 17:34:00
阅读次数:
206
树的遍历: 关键在与如何利用中序和后序建树。 中序的作用,提供了左右子树的所有节点的分布! 前序,后序的作用:就是第一个元素(最后一个元素)提供了根节点,让中序找到子树的分布情况。 玩转二叉树: 这里的改变只是在建树的时候,把原本左子树放在实际的右子树上,原本的右子树放在左子树上。 ...
分类:
其他好文 时间:
2019-03-22 22:58:48
阅读次数:
321
迭代遍历: 一般我们提到树的遍历,最常见的有先序遍历,中序遍历,后序遍历和层序遍历,它们用递归实现起来都非常的简单。而题目的要求是不能使用递归求解,于是只能考虑到用非递归的方法,这就要用到stack来辅助运算。由于先序遍历的顺序是"根-左-右", 算法为: 1. 把根节点push到栈中 2. 循环检 ...
分类:
其他好文 时间:
2019-03-20 01:23:58
阅读次数:
186