一.概念红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是Red或Black。通过对任何一条从根到叶子简单路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似于平衡。2.性质:每个节点,不是红色就是黑色的根节点是黑色的如果一..
分类:
其他好文 时间:
2016-07-20 19:48:13
阅读次数:
168
冬天又到了。
如果在我故乡的小县城,寒冷的偏北风早已抖落一冬的树叶了。然而这里是城市,多得是长青的美化树,这些树是能抗寒的,即使冬天里最严寒的冬雪落下了,树上的叶子依旧可以绿油油的招摇。可是我爱的不是这样的冬天,我爱的是我远在乡村县城里拥有哀叹着的光秃树干的冬天。
一直以来我认为,世界上有这样的季节是树的悲哀,它们犹如女人,不情愿的被别人扒光了衣服,羞愧、无助,何况是在...
分类:
其他好文 时间:
2016-07-20 11:56:28
阅读次数:
206
红黑树又称二叉搜索树,它主要是通过红和黑两种颜色(red、black)来标识节点。通过对任何一条从根节点到叶子节点路径上的节点颜色进行约束,红黑树保证最长路径不超过最短路径的两倍,所以说:红黑树是近似于平衡的。■下面是红黑树的主要特点:(1)红黑树的根节点是黑色的。..
分类:
其他好文 时间:
2016-07-20 06:47:25
阅读次数:
118
ACM模版点双连通分支去掉桥,其余的连通分支就是边双连通分支了。一个有桥的连通图要变成边双连通图的话,把双连通子图 收缩为一个点,形成一颗树。需要加的边为(leaf+1)/2 (leaf 为叶子结点个数)
参考题目链接:
POJ 3177 Redundant Paths
给定一个连通的无向图 G,至少要添加几条边,才能使其变为双连通图。const int MAXN = 5010; // 点...
分类:
其他好文 时间:
2016-07-19 11:07:16
阅读次数:
194
红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是Red或Black。通过对任何一条从根到叶子简单路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似于平衡。红黑树是满足下面红黑性质的二叉搜索树每个节点,不是红色就是黑色..
分类:
其他好文 时间:
2016-07-19 02:27:48
阅读次数:
259
一、二叉树相关概念
1.1 基本术语
结点的度:一个结点的子结点的个数称为结点的度。树的度:树中结点的最大度数为树的度树的深度(高度):树中结点的最大层数,从1开始。
1.2 二叉树分类
满二叉树:一颗高度为h,并且含有2^h-1个结点的二叉树称为满二叉树。即树中每一层都含有最多的节点。除叶子节点每个节点的度都为2。
完全二叉树:当高度为h,具有n个结点的二叉树,...
分类:
其他好文 时间:
2016-07-17 00:46:59
阅读次数:
358
红黑树的性质与定义 红黑树(red-black tree) 是一棵满足下述性质的二叉查找树: 1. 每一个结点要么是红色,要么是黑色。 2. 根结点是黑色的。 3. 所有叶子结点都是黑色的(实际上都是Null指针,下图用NIL表示)。叶子结点不包含任何关键字信息,所有查询关键字都在非终结点上。 4. ...
分类:
其他好文 时间:
2016-07-16 00:35:34
阅读次数:
217
红黑树是一种平衡的二叉排序树,首先它是二叉排序树,即它的节点之间都是有序的; 其次,它是一种平衡树,因此它的查找效率是比较优的
红黑树的五个性质:
1、每个节点要么是红色的要么是黑色的
2、根节点必须是黑色的
3、叶子节点(即NULL节点)是黑色的
4、如果一个节点是红色的,那么它的两个孩子必须是黑色的
5、对于每一个节点,它到叶子节点的所有路径包含的黑色节点的个数都相同
由...
分类:
其他好文 时间:
2016-07-15 21:24:51
阅读次数:
136
假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为[1]: (1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点); (2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其 ...
分类:
其他好文 时间:
2016-07-15 00:29:33
阅读次数:
162
一:背景
平衡二叉树(又称AVL树)是二叉查找树的一个进化体,由于二叉查找树不是严格的O(logN),所以引入一个具有平衡概念的二叉树,它的查找速度是O(logN)。所以在学习平衡二叉树之前,读者需要了解二叉查找树的实现,具体链接:二叉查找树
那么平衡是什么意思?我们要求对于一棵二叉查找树 ,它的每一个节点的左右子树高度之差不超过1。(对于树的高度的约定:空节点高度是0;叶子节点高度是1。...
分类:
编程语言 时间:
2016-07-13 23:22:38
阅读次数:
210