作者周信静,毕业于浙江大学,目前在CDB/CynosDB数据库内核团队参与TXSQL云数据库内核研发工作,参与了热点行更新以及一系列性能优化工作,并修复了多个MySQL官方bug。Part1背景InnoDB的自适应哈希索引(AdpativeHashIndex,以下简称AHI),是一种建立在B树索引结构上的索引结构,目的是为了进一步降低BTree的查询代价。在B树中搜索一个记录时,需要从根节点下降到
分类:
数据库 时间:
2020-11-23 11:45:11
阅读次数:
18
今天讲讲 Union-Find 算法,也就是常说的并查集算法,主要是解决图论中「动态连通性」问题的。名词很高端,其实特别好理解,等会解释,另外这个算法的应用都非常有趣。 说起这个 Union-Find,应该算是我的「启蒙算法」了,因为《算法4》的开头就介绍了这款算法,可是把我秀翻了,感觉好精妙啊!后 ...
分类:
编程语言 时间:
2020-11-20 11:25:40
阅读次数:
5
在unix系统下一切皆文件,文件夹是文件的一种。设备也会对应到相应的文件类型。 基础知识: . 代表当前路径 ..代表上级目录(父目录) / 在路径的最前边的时候代表树根。在路径中间的时候只不过是路径分隔符 ~代表当前用户的工作主目录,操作系统可以同时多用户登陆的 绝对路径 从树根一步一步找/Use ...
分类:
系统相关 时间:
2020-11-17 12:18:43
阅读次数:
21
根据题意,寻找子串出现的第k次的开头。寻找第k大,一般可以想到用主席树来维护。 但是这题还需要更多的转化,首先想到我们如果想知道子串匹配,一个可以考虑kmp,但是因为询问过多,不太科学。 一般还有两种,一种是哈希算法,一种是后缀数组求lcp。考虑哈希算法,感觉可做性不是很大,因为他要多次匹配。考虑后 ...
分类:
编程语言 时间:
2020-09-18 02:17:50
阅读次数:
44
给定一棵有根树 \(T\),根节点深度为 $1$,每个节点的深度为其父亲的深度 \(+1\),每个叶子节点的权值为其编号,现定义每个非叶节点的权值: 对于深度为奇数的非叶节点,其权值为其子节点的权值最大值。 对于深度为偶数的非叶节点,其权值为其子节点的权值最小值。 然后我们得到根节点的权值 \(W\ ...
分类:
其他好文 时间:
2020-09-17 19:33:42
阅读次数:
22
题目: 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 题目解析: 方法一: 这个题目很明显就可以用递归来做,有关树的题目用递归来做基本上是我们需要想到的首选!如果两个树是相同的,我们只需要比较其树根是相同的,同时递归调用比较树根 ...
分类:
编程语言 时间:
2020-09-09 18:40:26
阅读次数:
32
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路: 这个题目其实非常基础了,也就是直接使用BFS广度优先搜索算法对整棵二叉树进行遍历即可,我们最后返回的是一个数组 "[]",把遍历之后的元素放到这个数组当中即可。为了进行BFS,我们首先新建一个队列,将树根部的节点放到队列里 ...
分类:
编程语言 时间:
2020-09-04 17:24:39
阅读次数:
59
题目 点这里看题目。 分析 原来数据的奇怪结尾就可以拿来判断特征呀 40pts ~ 55pts 太简单就不说了。 75pts 考虑完全二叉树怎么做。 这里需要注意一点,就是:\(n=262143=2^{18}-1\) ,也就是说,数据实际上就是一棵满二叉树。 由于满二叉树具有极强的对称性,我们不难想 ...
分类:
其他好文 时间:
2020-07-24 21:50:33
阅读次数:
73
用C/C++编写二叉树的前序遍历,中序遍历,后序遍历(递归) 使用辅助队列的层序遍历(非递归) 特别说明一下层次遍历:借助一个队列,先将二叉树根结点入队,然后出队,访问出队结点,若它有左子树,则将左子树根结点入队;若它有右子树,则将右子树树根结点入队。然后出队,访问出队结点.......如此反复,直 ...
分类:
其他好文 时间:
2020-07-23 16:22:22
阅读次数:
66
题意: 给你n个节点,这n个节点构成了一颗以1为树根的树。每一个节点有一个初始值bi,从任意节点 i 的子树中选择任意k个节点,并按他的意愿随机排列这些节点中的数字,从而产生k?ai 的成本。对于一个节点i你需要将bi改成ci。 这个bi值和ci值的范围是[0,1] 题解: 对于一个节点,如果它的b ...
分类:
其他好文 时间:
2020-07-22 16:14:04
阅读次数:
63