1. 红黑树(RED-BLACK TREE)引言:红黑树(RBT)可以说是binary-search tree的非严格的平衡版本。与之相应的是平衡二叉树(Balanced Binary Tree)又称之为AVL树(因为是G.M. Adelson-Velsky 和 E.M. Landis在1962年发...
分类:
编程语言 时间:
2015-01-12 15:56:55
阅读次数:
357
红黑树是一种自平衡的二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组(C++ STL 中的map/set)。它是在1972年由Rudolf Bayer发明的,他称之为"对称二叉B树",它现代的名字是 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的。红黑树虽然很复杂,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的...
分类:
其他好文 时间:
2015-01-11 20:26:14
阅读次数:
273
双旋转单旋转有时会出现一个问题(如下图所示):(如果内侧子孙节点[k1]过深, 则将其单向移动是不会解决问题的) 于是就有了双旋转向右双旋转: 1.首先以k1为轴, k1与k2向左旋转; 2.然后以k3为轴, k3与旋转之后的k1向右旋转;//实现
//向右双旋转
template
void RedBlackTree::doubleRotateWithLeftChild(Node *...
分类:
其他好文 时间:
2015-01-11 20:24:04
阅读次数:
260
在数据结构中我们常见的平衡二叉树有AVL树和红黑树。 红黑树和AVL树的区别在于它使用颜色来标识结点的高度,它所追求的是局部平衡而不是AVL树中的非常严格的平衡。 我们来看红黑树的定义:红黑树首先是一棵二叉查找树,它每个结点都被标上了颜色(红色或黑色),红黑树满足以下5个性质: 1、每个结...
分类:
其他好文 时间:
2015-01-08 22:45:31
阅读次数:
215
本文分析了 Nginx 红黑树的源码实现,其基本实现跟算法导论中的红黑树是一样的。...
分类:
其他好文 时间:
2015-01-07 18:52:30
阅读次数:
138
所有集合都是iterable的,seq是有先后次序的序列(如数组和列表),Set是没有先后次序的序列,map是一种键值对偶。scala优先采用不可变集合,::操作符从给定的头和尾创建一个新的列表。如果要把列表中的某个节点变成列表中的最后一个节点,不能将next引用设为nil,而应该设为LinkedList.empty.已排序的集使用红黑树实现的,scala2.9没有可变的已排序集,要用到java....
分类:
其他好文 时间:
2015-01-02 14:41:20
阅读次数:
208
数据结构【数据结构】DFS求有向图的强连通分量【数据结构】二叉堆【数据结构】离散事件模拟【数据结构】book3_3 表达式求值3.19【数据结构】红黑树 C语言代码
分类:
其他好文 时间:
2015-01-02 14:40:29
阅读次数:
130
作者:July。出处:http://blog.csdn.net/v_JULY_v/。引记 此前一天,一位MS的朋友邀我一起去与他讨论高速排序,红黑树,字典树,B树、后缀树,包含KMP算法,只有在解说KMP算法的时候,言语磕磕碰碰,我想,原因有二:1、博客内的东西不常回想,忘了不少;2、便是我对KMP...
分类:
编程语言 时间:
2014-12-31 18:05:09
阅读次数:
437
stl中对线性表有充分的实现,无论是vector还是list都是典型的线性表,即便是set和map,尽管实现上采用了诸如红黑树之类的树形结构,但那仅仅是为了快速检索的需要,从语义上来说它们依旧是线性表,无法表达目录树这种树形结构。boost中的property_tree可以看做是对树形结构实现的补充,我们大可把它扩展应用到各种需要树形结构的地方。...
分类:
其他好文 时间:
2014-12-29 23:06:48
阅读次数:
350
本文转载至 http://blog.csdn.net/zhangkongzhongyun/article/details/8080466分类:c语言2012-10-17 11:16275人阅读评论(0)收藏举报算法google前面写了好些排序,红黑树,B 树算法的文章,还剩下查找这一大块没有写,查找...
分类:
编程语言 时间:
2014-12-21 16:34:06
阅读次数:
172