一、树的定义树是n(n>=0)个结点的有限集。n=0时称为空树,在任意一颗非空树:1、有且仅有一个特定的根结点。2、当n>1时其余结点可分为m(m>0)个互不相交的有限集T1、T2、.....Tm,其中每一个集合本身又是一棵树,并且称为根的子树。二、结点的度,拥有的子树称为结点的度如上图结点A的度是2,结点B的度是1,结点C的度是2,结点E的度是3,结点G的度是0度为0的节点称为叶子结点,度不为0...
分类:
其他好文 时间:
2014-12-07 16:31:41
阅读次数:
168
【BZOJ 1036】[ZJOI2008]树的统计Count
树链剖分模板题~...
分类:
其他好文 时间:
2014-12-05 15:40:11
阅读次数:
309
树(Tree)是n(n>=0)个相同类型的数据元素的有限集合。树中的数据元素叫结点(Node)。n=0的树称为空树(Empty Tree);对于n>0的任意非空树T有:
1.有且只有一个特殊的结点称为树的根(Root)结点,根没有前驱结点。
2.若n>1,则除根结点外,其余结点被分成了m(m>0)个互不相交的集合T1,T2,T3,...Tm,其中每个集合Ti(1
由树的定义可知,...
还是区间求和区间修改的问题,我们使用线段树解决以后发现编程复杂度比较大 在这里介绍一个简单的数据结构,树状数组。 树状数组的优势是编程复杂度小,常数小,时间复杂度也不错 树状数组的查询,修改,都是LOG(N)级别的 下面来分析一下上面那个图看能得出什么规律: 据图可知:c1=a1,...
分类:
编程语言 时间:
2014-11-01 20:31:27
阅读次数:
229
题目:spoj 375. Query on a tree
题意:题意很清晰,就是给你一颗树,每两点之间有权值,然后改变一些权值,问一条路径上的最大值。
分析:入门题目,直接套树链模板
AC代码;
#include
#include
#include
#include
using namespace std;
const int N = 10010;
#define ...
分类:
其他好文 时间:
2014-10-21 12:16:36
阅读次数:
210
树是一种非线性的数据结构,树有根节点,子树等概念。
二叉树(Binary Tree):每个节点最多有两颗子树,并且子树有左右之分。
概念:树的深度,满二叉树,完全二叉树,树的节点树
二叉树包括顺序存储和链式存储,这里只说链式存储。二叉树的每个节点和双链表有些类似,但是树的结构要比双链表复杂,在构造树的过程中涉及到递归调用的问题,递归的问题往往是很复杂的问题,因此,这里单独说二叉树的构建。
...
分类:
其他好文 时间:
2014-09-15 19:36:19
阅读次数:
142
楼教主的“男人八题”之一,分治思想在树上的应用,也是树形DP问题。...
分类:
其他好文 时间:
2014-09-02 03:46:44
阅读次数:
187
作为哈夫曼树的一个重要应用,我们来介绍哈夫曼编码。在我的上一篇博文《树之哈夫曼树》中已经介绍了建立哈夫曼树的过程,而由哈夫曼树求得的编码为最优前缀码。每个叶子表示的字符的编码,就是从根到叶子的路径上的标号依次相连所形成的编码,显然这就是该字符的最优前缀码。所谓前缀码是指,对字符集进行编码时,要求字符集中任一字符的编码都不是其它字符的编码的前缀,比如常见的等长编码就是前缀码。所谓最优前缀码是指,平均...
分类:
其他好文 时间:
2014-08-23 16:55:01
阅读次数:
746