最近一直在复习面试的内容,会不断的记录相关自己看过或者写过的内容,这也是自己的收获或经历,以后查询也比较方便。红黑树的性质不说了,直接贴代码上传。 1 /* 2 * rbtree.h 3 * 1. 每个节点是红色或者黑色 4 * 2. 根节点是黑色 5 * 3. 每个叶子节点是黑色...
分类:
编程语言 时间:
2015-09-19 15:06:46
阅读次数:
284
/*
* Copyright (C) Igor Sysoev
* Copyright (C) Nginx, Inc.
*/
#ifndef _NGX_RBTREE_H_INCLUDED_
#define _NGX_RBTREE_H_INCLUDED_
#include
#include
typedef ngx_uint_t ...
分类:
其他好文 时间:
2015-07-21 22:17:19
阅读次数:
212
嗯,如果你是抱着看生态文章的态度进来,那只能说你被我坑了....
分类:
其他好文 时间:
2015-05-12 15:49:52
阅读次数:
266
具体算法可见[红黑树 - 维基百科,自由的百科全书](http://zh.wikipedia.org/zh/%E7%BA%A2%E9%BB%91%E6%A0%91)最总完成代码见[algorithm/RBTree.h at master · liu946/algorithm](https://git...
分类:
其他好文 时间:
2015-05-09 08:47:28
阅读次数:
101
原文在linux系统中,单处理器也是多线程处理信号、事件等。这就需要一个核心算法来进行进程调度。这个算法就是CFS(Completely Fair Scheduler)。在LInux Kernel Development一书中用一句话总结CFS进程调度:运行rbtree树中最左边叶子节点所代表的那个...
分类:
系统相关 时间:
2015-04-01 17:28:48
阅读次数:
398
Insert完善 根据规则4, 新增节点必须为红; 根据规则3, 新增节点之父节点必须为黑. 示例: (1)插入16(红色)/55(红色), 则既不用旋转, 也不用重新染色 (2)插入82(红色), 则违反了红黑规则, 需要进行动态的调整; 红黑树所需的处理1.单旋转 新插入的X与其父P都是红色的, 而且X还是G的外部孙子; 2.双旋转 新插入的X与其父P都是红色的...
分类:
其他好文 时间:
2015-02-17 11:43:21
阅读次数:
195
完整源代码: http://download.csdn.net/detail/hanqing280441589/8450041 红黑节点设计与实现template
class RedBlackNode
{
friend class RedBlackTree;
//所有的成员都是private
private:
RedBlackNode(const Comparable &theE...
分类:
其他好文 时间:
2015-02-17 11:42:50
阅读次数:
129
红黑树是一种自平衡的二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组(C++ STL 中的map/set)。它是在1972年由Rudolf Bayer发明的,他称之为"对称二叉B树",它现代的名字是在 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的。红黑树虽然很复杂,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效...
分类:
其他好文 时间:
2015-02-17 10:22:02
阅读次数:
287
直接上代码:class RBTree: def __init__(self): self.nil = RBTreeNode(0) self.root = self.nilclass RBTreeNode: def __init__(self, x): ...
分类:
编程语言 时间:
2015-02-04 16:24:47
阅读次数:
422
二叉搜索树是红黑树的基础。
关于红黑树的链接:
http://blog.csdn.net/v_JULY_v/article/details/6105630
linux kernel 源码中关于红黑树的链接:
https://github.com/torvalds/linux/blob/master/lib/rbtree.c
https://github.com/torvalds/linu...
分类:
其他好文 时间:
2015-01-14 15:41:08
阅读次数:
206