红黑树的性质 性质1.节点是红色或黑色。 性质2.根节点是黑色。 性质3.每个叶子节点都是黑色的空节点(NIL节点)。 性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 性质5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。 这些约束强制了 ...
分类:
其他好文 时间:
2020-05-12 11:40:19
阅读次数:
78
MySQL的InnoDB索引数据结构是B+树,主键索引叶子节点的值存储的就是MySQL的数据行,普通索引的叶子节点的值存储的是主键值,这是了解聚簇索引和非聚簇索引的前提 什么是聚簇索引? 很简单记住一句话:找到了索引就找到了需要的数据,那么这个索引就是聚簇索引,所以主键就是聚簇索引,修改聚簇索引其实 ...
分类:
数据库 时间:
2020-05-10 18:55:33
阅读次数:
95
题目描述: 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 示例: ...
分类:
其他好文 时间:
2020-05-08 16:24:26
阅读次数:
58
赫夫曼树 最优二叉树,WPL值最小(效率最高); 结点的路径长度:从根节点到该结点的路径上的连接数 树的路径长度::树中每个叶子结点的路径长度之和 结点带权路径长度:结点路径长度与结点权值的乘积 WPL树的带权路径长度:是树中所有结点带权路径长度之和 利用结点的权重规划二叉树(权重大表示访问频繁), ...
分类:
其他好文 时间:
2020-05-07 00:51:04
阅读次数:
62
题意: 选出一条链 $[u \to v]$,每个点有个权值,然后求 $\max{\sum s_i}$,$s_i$ 为路径前缀和。 首先路径问题先想到点分治,然后考虑如何链上计算这个贡献,如果当前重心为 $x$,我们选出了两个点 $u,v$ ,非常显然 $u,v$ 都是叶子结点。 ~~(证明略)~~ ...
分类:
其他好文 时间:
2020-05-06 21:40:48
阅读次数:
91
给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 来源:力扣(Leet ...
分类:
其他好文 时间:
2020-05-04 19:28:06
阅读次数:
71
LINK: "随机树" 非常经典的期望dp. 考虑第一问:设f[i]表示前i个叶子节点的期望平均深度。 因为期望具有线性性 所以可以由每个叶子节点的期望平均深度得到总体的。 $f[i]=(f[i 1]\cdot (i 1)+(f[i 1]+1)\cdot 2 f[i 1])/i=f[i 1]+2/i ...
分类:
其他好文 时间:
2020-05-03 20:44:44
阅读次数:
55
题目: 解答: 方法:深度优先搜索 思路和算法: 首先,让我们找出给定的两个树的叶值序列。之后,我们可以比较它们,看看它们是否相等。 要找出树的叶值序列,我们可以使用深度优先搜索。如果结点是叶子,那么 dfs 函数会写入结点的值,然后递归地探索每个子结点。这可以保证按从左到右的顺序访问每片叶子,因为 ...
分类:
其他好文 时间:
2020-05-03 16:51:37
阅读次数:
50
题目: 解答: 从根节点开始遍历,每向下一个节点,我们可以把父节点传入的值左移一位并或上当前节点的值。 int newval = val << 1 | node->val; 这样我们就得到了一个从根节点到当前节点表示的数值。接下来我们要做的只是判断一个节点是不是叶子节点,如果是的话就累加,否则继续。 ...
分类:
其他好文 时间:
2020-05-03 16:34:47
阅读次数:
89
题目: 解法: 难点主要是在判断是否是左叶子。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * T ...
分类:
其他好文 时间:
2020-05-03 12:30:56
阅读次数:
84