题意概述:给出一棵树,初始每个结点有不同的颜色。现在支持三种操作:1.把某个结点的颜色改成一个之前都没有出现过的颜色,并将这个点到当前树根路径上的所有点全部改成这个颜色;2.改变当前的树根到另外一个点,并对原来的树根进行一次操作1;3.把询问当前形态的树中对一个点的子树中所有点进行操作1的平均代价(... ...
分类:
其他好文 时间:
2018-03-02 18:52:09
阅读次数:
152
1.定义: b树是为了硬盘快速读取数据而设计的一种多路查找树。目前大多数数据库及文件索引,都是采用b树来储存实现的。一颗m阶B树满足如下性质: (1)树中每个节点至多有m颗子树,至少有ceil(m/2)颗子树 (2)树根节点至少有2颗子树 (3)所有叶节点都在同一层 (4)每个节点包括的数据形式是: ...
分类:
其他好文 时间:
2018-02-25 15:55:11
阅读次数:
183
Description 字母( $Trie$ )树是一个表示一个字符串集合中所有字符串的前缀的数据结构,其有如下特征: 1. 树的每一条边表示字母表中的一个字母 2. 树根表示一个空的前缀 3. 树上所有其他的节点都表示一个非空前缀,每一个节点表示的前缀为树根到该节点的路径上所有字母依次连接而成的字 ...
分类:
其他好文 时间:
2018-02-23 17:14:58
阅读次数:
125
一 堆 堆给人的感觉是一个二叉树,但是其本质是一种数组对象,因为对堆进行操作的时候将堆视为一颗完全二叉树,树种每个节点与数组中的存放该节点值的那个元素对应。所以堆又称为二叉堆,堆与完全二叉树的对应关系如下图所示: 二叉堆可以分为两种形式:最大堆和最小堆。在这两种堆中,结点的值都要满足堆的性质。 在最 ...
分类:
编程语言 时间:
2018-02-23 16:01:48
阅读次数:
210
实现优先队列结构主要是通过堆完成,主要有:二叉堆、d堆、左式堆、斜堆、二项堆、斐波那契堆、pairing 堆等。 1. 二叉堆 1.1. 定义 完全二叉树,根最小。 存储时使用层序。 1.2. 操作 (1). insert(上滤) 插入末尾 26,不断向上比较,大于26则交换位置,小于则停止。 (2 ...
分类:
其他好文 时间:
2018-02-23 12:02:40
阅读次数:
199
题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。 接下来M行 ...
分类:
其他好文 时间:
2018-02-17 21:23:43
阅读次数:
216
题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1。 我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有4个树枝的树 2 5 \ / 3 4 \ / 1 现在这颗树枝条太多 ...
分类:
移动开发 时间:
2018-02-13 16:45:04
阅读次数:
208
1 什么是Trie Trie也叫前缀树,因为存放和查找的时候都是将关键字字符串从前到后一个字母一个字母的进行的,所以叫前缀树。根节点不存放字母,其它的每个结点都存放一个字母。如果某个结点的字母是要给关键字的最后一个字母,那么该节点还存放该路径对应的关键字的值。也就是说,整个关键字字符串存放在一条路径 ...
分类:
其他好文 时间:
2018-02-09 14:50:38
阅读次数:
225
根据BST的特点,如果小于L就判断右子树,如果大于R就判断左子树 递归地建立树 ...
分类:
其他好文 时间:
2018-02-03 20:04:06
阅读次数:
133