磁盘预读每次读4k的倍数,一次加载一个磁盘块16k b+tree有2种查找方式:从根节点开始查找; 也可以通过双向链表从最小叶子节点开始找。 myisam和Innodb的数据结构都是b+tree,从上图中可以看到区别是: Innodb最后的叶子节点存放的是完整数据,这种数据和索引存放在一起的叫做聚簇 ...
分类:
数据库 时间:
2020-04-22 12:53:45
阅读次数:
67
性质1:每个节点要么是黑色,要么是红色。 性质2:根节点是黑色。 性质3:每个叶子节点(NIL)是黑色。 性质4:每个红色节点的两个子节点一定都是黑色。 不能有两个红色节点相连。 性质5:任意一节点到每个叶子节点的路径都包含数量相同的黑结点。 从性质5又可以推出: 性质5.1:如果一个节点存在黑子节 ...
分类:
其他好文 时间:
2020-04-19 22:27:33
阅读次数:
169
二叉树的最小深度 LeetCode: "二叉树的最小深度" 题目描述: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点 示例: 思想: 还是递归,没啥特别的 代码 我的第一遍代码: 优化之后: if(x == 0||y ...
分类:
编程语言 时间:
2020-04-19 11:17:51
阅读次数:
76
题意:给出一棵树,要求给树上的每条边赋权值,使得任意两个叶子节点的路径上所有权值异或之后为0,边数n范围为[3,1e5],求使用的不同权值数的最小值和最大值。 题解: 任取一个叶子节点为树根建树。则题意可转化为 首先考虑最小值 由异或的性质(a^b^b=a,总存在c使得对任意a,b有a^b^c=0) ...
分类:
其他好文 时间:
2020-04-19 10:57:12
阅读次数:
65
Description 现在有一棵二叉树,所有非叶子节点都有两个孩子。在每个叶子节点上有一个权值(有 $n$ 个叶子节点,满足这些权值为 $1\cdots n$ 的一个排列)。 可以任意交换每个非叶子节点的左右孩子。 要求进行一系列交换,使得最终所有叶子节点的权值按照遍历序写出来,逆序对个数最少。 ...
分类:
其他好文 时间:
2020-04-18 09:28:42
阅读次数:
47
先给出哈夫曼树的定义:构造一颗包含n个节点的k叉树其中每个叶子节点都有权值w[i],要求最小化所有叶子节点的w[i]*deep[i]之和.该问题的解被称为k叉哈夫曼树. 先来说两个引理: 1.权值最小的节点深度必定最大. 证明:我们设x,y.使得w[x]>w[y].但deep[x]>deep[y]如 ...
分类:
其他好文 时间:
2020-04-16 20:55:30
阅读次数:
89
解题思路:先判断当前节点是否为空,不为空则加入路径中,若不为空,判断该节点是否为叶子节点,为叶子节点则将路径加入答案,否则继续递归左右子树.给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入:1/\23\5输出:["1->2->5","1->3"]解释:所有根节点到叶子节点的路径为:1->
分类:
编程语言 时间:
2020-04-15 10:43:44
阅读次数:
88
题目描述 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [ 1000000,1000000] 的整数。 示例: 题 ...
分类:
其他好文 时间:
2020-04-14 16:35:33
阅读次数:
67
"D Edge Weight Assignment" 参考: "Codeforces Round 633 Editorial " 感觉这个题关键之处在于,要会将图化为一棵树,这样逻辑会清晰很多。 如果叶子之间距离存在有奇数(非1),那么最小的 f 值一定为3,否则为1。可以通过求解其他叶子节点到某一 ...
分类:
其他好文 时间:
2020-04-13 23:09:29
阅读次数:
82
111. 二叉树的最小深度 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 /** * Definitio ...
分类:
其他好文 时间:
2020-04-12 18:45:50
阅读次数:
57