码迷,mamicode.com
首页 >  
搜索关键字:叶子    ( 2578个结果
(015)实现一个函数检查一棵树是否平衡(keep it up)
实现一个函数检查一棵树是否平衡。对于这个问题而言, 平衡指的是这棵树任意两个叶子结点到根结点的距离之差不大于1。 这个题我们可以采用暴力搜索,找到叶子节点到根节点的最小值和最大值,然后他们的差如果大于1就不是平衡树,反之 则是平衡树。 int MinDepth = std::numeric_limits::max(); int MaxDepth = std::numeric_limits::...
分类:其他好文   时间:2014-08-29 02:52:57    阅读次数:197
IT公司100题-tencent-打印所有高度为2的路径
问题描述:打印所有到叶子节点长度为2的路径 10 / \ 6 16 /\ / \ 4 8 14 18 / \ / \ \2 5 12 15 20 / 11打印:[10 6 8][6 4 2][6 4 5][16 14 15][16 18 20][14 12 11]分析:1, ...
分类:其他好文   时间:2014-08-28 22:24:46    阅读次数:348
线段树+离散化的资料(写的很好)
1、 线段树是二叉树,且必定是平衡二叉树,但不一定是完全二叉树。2、 对于区间[a,b],令mid=(a+b)/2,则其左子树为[a,mid],右子树为[mid+1,b],当a==b时,该区间为线段树的叶子,无需继续往下划分。3、 线段树虽然不是完全二叉树,但是可以用完全二叉树的方式去构造并存储它,...
分类:其他好文   时间:2014-08-28 11:14:29    阅读次数:194
UVa 712 S树
题意:有一棵完全二叉树,每层元素有同一变量表示,从上到下分别为x1,x2,... 最后一层叶子结点会有0或1的赋值,输入给出。然后如果xi取值为0时,则往左子树走,否则往右子树走,直到走到叶子结点,得到一值。 思路:因为是完全二叉树,可以用顺序存储,数组实现即可。另外也只需存叶子结点的值就行了。对一结点k来说,左孩子是2k,右孩子是2k+1。因为高度最大为7,最多有x7,所以可以直接取数组的第二...
分类:其他好文   时间:2014-08-27 22:06:38    阅读次数:261
HDU 4027 Can you answer these queries? (线段树)
题意: 给出一排敌军的血量,每次攻击都能将范围内的敌军血量变为原来血量的算术平方根(下取整),并询问范围内敌军的血量和。 分析: 显然的线段树,但是似乎不太好设计lazy标记啊,我们想一想算术平方根,sqrt(1)=1,且64位整数范围内最多6次就变到1了,那么只要区间内的数都为1,我就不用更新这个区间了,所以每次更新都更新到叶子结点,维护区间和就行了。数据里没有0,不过X>Y这种trick有意思吗?...
分类:其他好文   时间:2014-08-27 20:36:58    阅读次数:266
Codeforces Round #263 (Div. 1)
B 树形dp组合的思想。Z队长的思路。dp[i][1]表示以i为跟结点的子树向上贡献1个的方案,dp[i][0]表示以i为跟结点的子树向上贡献0个的方案.如果当前为叶子节点,dp[i][0] = 1,(颜色为1,可以断开与父节点的连接,颜色为0,不断开,方案恒为1),dp[i][1] = co[i]...
分类:其他好文   时间:2014-08-27 18:35:58    阅读次数:270
32. Path Sum && Path Sum II
思想: 先序遍历。若当前结点为空,返回 false; 不为空,则加上其值,若为叶子结点,则判断一次。 注意: 非路径和, 而是到叶子结点的路径和。例如: {1, 2} 1 返回: false 思路同上: 只是要记下路径。
分类:其他好文   时间:2014-08-27 18:05:28    阅读次数:202
23. Sum Root to Leaf Numbers
思想: 分三种情况: 1. 当前结点为空,返回0. 2. 叶子结点, 返回当前值. 3. 父结点,返回左右两个 path 值的和。
分类:其他好文   时间:2014-08-27 00:22:06    阅读次数:194
UVa 548 树
题意:给出中序和后序序列,求从根到叶子结点这样路径和值最小的叶子结点。如果和值相等,则选择叶子结点值较小的那个。 思路:由中序和后序序列递归地构造二叉树。顺序存储显然不行,使用链式存储。由于每个结点输入的是数字而不是字母,这里采用整型数组来存的,而不再是字符串,可能更方便些。build(n,a1,a2)函数是利用中序序列a1和后序序列a2构造有n个结点的二叉树,返回根结点指针。递归构造出二叉树后...
分类:其他好文   时间:2014-08-26 19:40:26    阅读次数:200
POJ 3352 Road Construction(无向连通图)
题目地址:POJ 3352 这题就是求最少加多少条边可以使得图为无向双连通图。方法是找度数为1的连通分量,可以只用low来找。然后根据公式(叶子结点数+1)/2即可得到答案。原因是在图中将每两个度数为1的都连起来,度数为2的显然已经可以形成双联通了,因为是无向边,只要加一条,就相当于加了两条有向边,很显然,结果数就是那个公式。 代码如下: #include #include #inclu...
分类:其他好文   时间:2014-08-26 17:20:26    阅读次数:207
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!