1. 什么是红黑树? 1.1 概述 红黑树实际上是一种自平衡二叉查找树。 二叉树是什么?二叉树是每个节点最多有两个子树的树结构,每个节点都可以用于存储数据,可以由任 1 个节点访问它的左右 子树或父节点。 二叉查找树是什么?二叉查找树或者是一棵空树,是具有下列性质的二叉树。 每个节点都有一个作为查找 ...
分类:
其他好文 时间:
2018-04-27 12:08:31
阅读次数:
488
Epoll是Linux IO多路复用的管理机制。作为现在Linux平台高性能网络IO必要的组件。内核的实现可以参照:fs/eventpoll.c .为什么需要自己实现epoll呢?现在自己打算做一个用户态的协议栈。采用单线程的模式。https://github.com/wangbojing/NtyTcp,至于为什么要实现用户态协议栈?可以自行百度C10M的问题。由于协议栈做到了用户态故
分类:
其他好文 时间:
2018-03-25 15:52:04
阅读次数:
239
数据结构: 权值线段树,二维线段树,矩阵树,用线段树完成平衡树操作 splay,fhq treap hash_table 分块/莫队 搞懂STL中的vector,set,map,muiltset,pair的所有骚操作 背下pb_ds中rbtree,priority_queue,splay_tree等 ...
分类:
其他好文 时间:
2018-02-27 16:03:23
阅读次数:
157
STL真是个好东西。 最近在看pb_ds库及vector和set的用法,就想用这三种操作来实现一下普通平衡树,结果pb_ds中的rbtree不支持重复值,而本蒟蒻也看不懂不懂各大佬用pb_ds的实现,况且应该有人已经贴上了题解。我就发一发vector和set(其实是multiset)的题解吧。~~( ...
分类:
其他好文 时间:
2018-02-24 13:20:11
阅读次数:
213
Linux kernel rbtree 因编写内核模块时需要用到rbtree来记录异步request,研究分析了一下kernel rbtree的使用方法,记录于此。本文主要参考了内核文档 "rbtree.txt" rbtree简介 Red black trees(rbtree)是一种自平衡的二叉搜索 ...
分类:
系统相关 时间:
2018-01-17 00:09:56
阅读次数:
211
【BZOJ3935】Rbtree Description 给定一颗 N 个点的树,树上的每个点或者是红色,或者是黑色。 每个单位时间内,你可以任选两个点,交换它们的颜色。 出于某种恶趣味,你希望用最少的时间调整结点的颜色,使得对于每个点,离它最近的黑色点与它的距离不超过 x。 给定一颗 N 个点的树 ...
分类:
其他好文 时间:
2017-11-26 13:58:32
阅读次数:
138
1 #ifndef _RBTREE_H_ 2 #define _RBTREE_H_ 3 4 const int nodeSize = 3; 5 class RBTree 6 { 7 private: 8 typedef struct Node { 9 int key; 10 int color; / ...
分类:
编程语言 时间:
2017-11-02 21:58:34
阅读次数:
168
1) algorithm 2) traits 3) iterator 4) list 5) function 6) rbtree 7) bitset 8) priority_queue 9) hashtable 10) deque 11) string ...
分类:
其他好文 时间:
2017-05-26 20:09:50
阅读次数:
185
1 /* 2 * rbtree.h 3 * 1. 每个节点是红色或者黑色 4 * 2. 根节点是黑色 5 * 3. 每个叶子节点是黑色(该叶子节点就空的节点) 6 * 4. 如果一个节点是红色,则它的两个子节点是黑色的 7 * 5.对每个节点,从该节点道其他所有后代的叶子节点的简单路径上,均包含相同... ...
分类:
编程语言 时间:
2017-05-26 18:21:37
阅读次数:
210
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_RBTREE_H_INCLUDED_ #define _NGX_RBTREE_H_INCLUDED_ #include <ngx_config.h> ...
分类:
其他好文 时间:
2017-04-25 21:27:40
阅读次数:
260