6. Nginx 红黑树(RBTree)
发布时间
阅读量:
阅读量
Nginx的定时器管理机制通过引入红黑树数据结构得以实现,该结构在众多开源项目中被频繁采用。
红黑树属于一种具备自平衡特性的二叉搜索树,其查找、插入与删除操作均可在O(log n)的时间复杂度内完成,其中n代表树中存储的元素数量。
该数据结构是一种特殊的二叉搜索树,每个节点均附带颜色属性,颜色可为红色或黑色。除了满足普通二叉搜索树的基本条件外,红黑树还需遵循以下附加规则:
(1)节点的颜色只能是红色或黑色
(2)根节点必须为黑色
(3)所有叶子节点均为黑色(此处的叶子指代NIL节点)
(4)任意红色节点的两个子节点必须均为黑色
(5)对于任意给定的节点,从该节点出发到其所有叶子节点的路径中,所包含的黑色节点数目必须保持一致


/*core/ngx_rbtree.h */
typedef struct ngx_rbtree_s ngx_
全部评论 (0)
还没有任何评论哟~
