自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 nginx数据结构之红黑树(2)

1 红黑树简介红黑树是一种自平衡的二叉查找树,不同于AVL树,它并不是绝对平衡的,它是在一定规则下维持的平衡。红黑树的规则:(1)每个节点或者是黑色,或者是红色。(2)根节点是黑色的。(3)每个叶子结点为黑色(这里叶子结点指的是空结点,个人认为在操作红黑树时,可以忽略该条规则)。(4)红色结点的孩子结点必须是黑色的,即两个红色结点不能相邻.(5)从一个结点开始到达每个叶子结点的路径黑色结点的数目都是相同的,又可将红黑树的平衡看为黑色平衡。2 红黑树的操作找到待插入的位置,将新插入的结点的颜

2021-02-22 23:46:10 100

原创 nginx数据结构之红黑树(1)

nginx中的定时器实际上就是一颗红黑树,本文主要对红黑树进行一下解读。红黑树的由来红黑树是一种自平衡的二叉查找树,提起二叉查找树,每个人都能快速反应过来是什么,下面简单的列出二叉查找树的结点插入与删除方法。1) 二叉查找树插入方法:tree_s * insert_node(tree_s * root, int n){ if(root == NULL) { root = new tree_s(n); return root; } if(root->value < n)

2021-02-20 18:01:31 239

原创 nginx源码解析(2)

nginx中的定时器服务器中定时器是重要的组成部分,nginx也不例外,nginx将定时器作为一种事件类型来进行处理。在nginx中利用红黑树来存储定时器,至于为什么选择红黑树,个人认为主要是为了兼顾查找、插入、删除的效率而选取的折中方案。1 定时器的初始化、添加、删除初始化定时器,即创建一颗红黑树ngx_int_t ngx_event_timer_init(ngx_log_t *log){ ngx_rbtree_init(&ngx_event_timer_rbtree, &amp

2021-02-09 18:58:02 108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除