本文分析了 Nginx 红黑树的源码实现,其基本实现跟算法导论中的红黑树是一样的。...
分类:
其他好文 时间:
2015-01-07 18:52:30
阅读次数:
138
菜鸟nginx源码剖析数据结构篇(四)红黑树ngx_rbtree_tAuthor:Echo Chen(陈斌)Email:chenb19870707@gmail.comBlog:Blog.csdn.net/chen19870707Date:October 27h, 20141.ngx_rbtree优势...
分类:
其他好文 时间:
2014-12-03 14:13:13
阅读次数:
355
linux内核中有很多经典的数据结构, 比如list, hlist, rbtree等等,这些数据结构都是由c语言编写的,与平台无关,完全可以从内核中拿出来放到自己的代码中。list=======移植自linux内核, windows平台可用由于windows没有typeof, 故WIN32下:#de...
分类:
其他好文 时间:
2014-10-29 18:57:42
阅读次数:
302
ngx_rbtree是一种使用红黑树实现的关联容器,关于红黑树的特性,在《手把手实现红黑树》已经详细介绍,这里就只探讨ngx_rbtree与众不同的地方;ngx_rbtree红黑树容器中的元素都是有序的,支持快速索引,插入,删除操作,也支持范围查询,遍历操作,应用非常广泛。...
分类:
其他好文 时间:
2014-10-27 23:10:06
阅读次数:
377
1红黑树简介
先来看下算法导论对R-B Tree的介绍:
红黑树,一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。
通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平的。
红黑树,作为一棵二叉查找树,满足二叉查找树的一般性质。下面,来了解下 二叉查找树的一般性质。
二叉查找树
二叉查找树...
分类:
其他好文 时间:
2014-10-05 19:24:38
阅读次数:
216
RBTree.h
#include
template
class RBTree
{
public:
RBTree();
bool insert(const T&);
bool del(const T&);
void show() {
Mid_Order(root);
}
private:
enum { RED, BLACK };
typedef struct ...
分类:
其他好文 时间:
2014-09-13 21:34:08
阅读次数:
266
B树、B-树、B+树、B*树、红黑树rbtree 二叉排序树、trie树Double Array 字典查找树
B树
即二叉搜索树:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
2.所有结点存储一个关键字;
3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;
...
分类:
其他好文 时间:
2014-07-26 02:24:36
阅读次数:
232
问题
Python中的二叉树查找算法模块
思路说明
二叉树查找算法,在开发实践中,会经常用到。按照惯例,对于这么一个常用的东西,Python一定会提供轮子的。是的,python就是这样,一定会让开发者省心,降低开发者的工作压力。
python中的二叉树模块内容:
BinaryTree:非平衡二叉树 AVLTree:平衡的AVL树 RBTree:平衡的红黑树
...
分类:
编程语言 时间:
2014-07-04 07:47:15
阅读次数:
287
在STL中,排序是个很重要的话题。1.algorithm 里的sort()只接收RandomAccessIterator用于像vector,dequeue的排序2.像set,map,这种关联式容器,本身就由RBTree维护了有序,只要遍历一遍就行了。3.而list比较特殊一点,由于只有Bidirec...
分类:
其他好文 时间:
2014-06-28 22:09:39
阅读次数:
209
上一篇文章《STL系列》之vector原理及实现,介绍了vector的原理及实现,这篇文章介绍map的原理及实现。STL实现源码下载。STL中map的实现是基于RBTree的,我在实现的时候没有采用RBTree,觉得这东西有点复杂,我的map采用的是排序数组(CSortVector)。map中的Ke...
分类:
其他好文 时间:
2014-05-27 16:53:47
阅读次数:
338