总结lca Lca的主要功能是找最近公共祖先。提到祖先,最容易想起的是x叉树。 首先,要给每一个结点都编号,按照先序遍历。 因此,可以开一个数组,记录发现时间found,time++但是要注意,在编程时不能用time这个变量,与某个函数冲突。 当我们找3和4的公共祖先时,我们会发现,当找到1那里时, ...
分类:
其他好文 时间:
2017-08-19 17:08:42
阅读次数:
115
递归解法: 从先序遍历中得到树的根节点,从中序遍历中得到左右数的组成节点。 更好理解的解法: ...
分类:
其他好文 时间:
2017-08-19 11:05:37
阅读次数:
130
实现一个功能: 输入:一颗二叉树的先序和中序遍历 输出:后续遍历思想: 先序遍历中,第一个元素是树根 在中序遍历中找到树根,左边的是左子树 右边的是右子树 1 def fromFMtoL( mid ): 2 global las #全局后序遍历 3 global fir #先序遍历 4 5 root... ...
分类:
其他好文 时间:
2017-08-14 00:41:50
阅读次数:
125
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 题目思路 本题就是按照建立二叉树的思路建立就行了。先序遍历的第一个是根节点,然后在中序遍历找到该根节点,以此为界,中序遍历的左边是它的左子树的中序遍历,同样地找到该左子树在先序 ...
分类:
编程语言 时间:
2017-08-13 00:08:49
阅读次数:
150
现在开始考bfs 了吗, 根据size办事,分情况了 dfs: 先序遍历 + 树的深度, 跟此题类似: 199 Binary Tree Right Side View ...
分类:
其他好文 时间:
2017-08-06 19:39:27
阅读次数:
107
哈夫曼树是带权路径最小的一种特殊二叉树,所以也称最优二叉树。 在这里不讨论基本概念如怎样计算路径等,而仅仅着重于树的创建,详细过程让我们举例而言。 其主要的原理为:将全部节点一開始都视为森林。每次从森林中选取两个根节点权值最小的树合并为一棵新树,新树的根节点大小为两个子节点大小的和,并将这棵新树又一 ...
分类:
其他好文 时间:
2017-08-06 16:59:18
阅读次数:
120
转载请注明: 仰望高端玩家的小清新 http://www.cnblogs.com/luruiyuan/ 题目大意: 题目传送门:UVa 10562 Undraw the Trees 给定字符拼成的树,将这些树转换成特定的括号表示的树 思路: 首先,观察样例,可以发现就是先序遍历的顺序,因此可以确定d ...
分类:
其他好文 时间:
2017-08-05 21:15:23
阅读次数:
163
二叉树的遍历方式: 1、深度优先:递归,非递归实现方式 1)先序遍历:先访问根节点,再依次访问左子树和右子树 2)中序遍历:先访问左子树,再访问根节点吗,最后访问右子树 3)后序遍历:先访问左子树,再访问右子树,最后访问根节点 2、广度优先 按照树的深度,一层一层的访问树的节点 ...
分类:
其他好文 时间:
2017-07-30 17:12:53
阅读次数:
170
先膜一发主讲人@Antileaf 真是核平的一天那……大脑已经被蹂躏的死去活来了…… cogs2421 简单的Treap 链接:http://cogs.pro/cogs/problem/problem.php?pid=2421 题意:什么都给你了,建出Treap,输出先序遍历顺序。 实际上只是用了T ...
分类:
其他好文 时间:
2017-07-26 21:55:26
阅读次数:
156
弱弱的吐个槽 太久不刷题果然会生疏啊 三天不练手生 古人诚不欺我也 初看该题 很明显就是一个有记录的遍历 先序遍历,遍历过程中保存路径即可 做该题中 自己主要犯得错误有: 1.忽视了List的引用传递; 2.每个节点压入路径 到了叶子时需要弹出 3.递归本质上是开启多个kernel层层嵌套 一直执行 ...
分类:
其他好文 时间:
2017-07-25 19:53:16
阅读次数:
147