并查集(disjoint set) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy并查集(disjoint set)是一种常用的数据结构.树形结构, 包含查询(find)和合并(unite)操作.时间复杂度O(a(n)), 比O(logn)要快.代码:class DisjoinSet {
static const int MAX_N = 10000;...
分类:
其他好文 时间:
2014-07-21 23:42:53
阅读次数:
201
首先来简单说下一些关于的基本概念。
树是一种非线性的数据结构
1,树是由 n(n>=0) 个结点组成的有限集合
如果n = 0 ,称为空树
如果n > 0,则:
有一个特定的称之为根(root)的结点,它只有直接后继,但没有直接前驱
除了根以外的其他结点划分为:m(m>=0)个互不相交的有限集合,T0,T1,T2…Tn-1,每个集合又是一棵树,并且称之为根的子树...
分类:
编程语言 时间:
2014-07-06 10:09:02
阅读次数:
234
树状数组是一种优雅的数据结构,利用的是前缀和的思想,相当于是线段树的一部分,常常用来快速解决区间求和问题,比相应的线段树要快,因为常数小。单点更新+区间求和这个是树状数组最最基础的应用了给个例题 hdu 1166 1 #include 2 #include 3 #include 4 #incl...
分类:
其他好文 时间:
2014-06-30 14:33:57
阅读次数:
210
按先序遍历创建一棵树,以层次遍历输出
样例输入
A B # D # # C E # # F # #
样例输出
LevelOrder: A B C D E F
代码:
#include
#include
using namespace std;
struct node { //表示一个树上的节点
char ch;
nod...
分类:
其他好文 时间:
2014-06-10 15:58:02
阅读次数:
295
由于智力的问题,百度之星完全lu不动。。开场看第一题根据题目给的条件我觉得一定是可以构造出来的,题目给的意思颇有鸽巢原理的感觉,于是觉得开场第一题应该就是智力构造题了,想了半个小时,发现完全想不动,于是只能放弃了去想后面的题。然后看第二题的数据结构,树上的询问,支持点修改,询问子树和,还有换根,然后...
分类:
其他好文 时间:
2014-06-02 16:41:08
阅读次数:
257
这是什么?是一个图?不对,确切的说这是一棵树。这哪里像树呢?不要着急我们来变换一下。
是不是很像一棵倒挂的树,也就是说它是根朝上,而叶子朝下的。不像?哈哈,看完下面这幅图你就会觉得像啦。
你可能会问:树和图有什么区别?这个称之为树的东西貌似和无向图差不多嘛。不要着急,继续往下看。树其实就是不包含回路的连通无向图。你可能还是无法...
分类:
其他好文 时间:
2014-05-23 01:37:38
阅读次数:
360
先解释一下一些最基本的概念结点的孩子结点个数即为该结点的度.度为0的结点叫叶子结点.处在树的最顶端(没有双亲)的结点叫根结点.介绍一下公式k:总度数k+1:总节点数为什么总节点数肯定比总度数多1呢?其实很简单可以解释,度可以看作节点与节点之间的线,多1就是显而易见的设该二叉树总结点数为N,叶子结点个...
分类:
其他好文 时间:
2014-04-29 17:23:47
阅读次数:
256