08 2015 档案

摘要:红黑树的特性: 1.红黑树是一棵二叉搜索树。 2.树上的每个结点或为红,或为黑。 3.如果一个结点为红色,那么它的左右子结点一定为黑色。 4.从根结点到每个叶子结点路径中经过的黑色结点数是相同的。 5.根结点必须是黑色。 理解这些特性是很重要的。正是因为有这些特性,才保证了红黑树的高效。 红黑树的插入和删除结点动作本质上还是按照二叉搜索树的规则来进行的。不过在基本操作完成后,如果违反了红黑树的某个特性,这时才需要做一些旋转操作进行红黑结点的平衡。所以说,红黑树相当一部分的插入和删除动作就是基本的二叉搜索树的插入和删除。本文只列举那些需要旋转处理的情况。 阅读全文
posted @ 2015-08-25 19:23 不爱洗脸 阅读(2361) 评论(0) 推荐(1)
摘要:周末看了nginx线程池部分的代码,顺手照抄了一遍,写成了自己的版本。实现上某些地方还是有差异的,不过基本结构全部摘抄。   在这里分享一下。如果你看懂了我的版本,也就证明你看懂了nginx的线程池。 阅读全文
posted @ 2015-08-18 00:06 不爱洗脸 阅读(3541) 评论(2) 推荐(4)
摘要:前几天写代码因为自己的疏忽导致一遍又一遍的Segmentation fault (core dumped)。该问题是因为strerror(errno)返回的指针指向非法的内存导致程序打印错误时崩溃。 尝试数次无果,为了进度。简单粗暴的换成了perror(str)。今天忙里偷闲,定位到了问题做个记录和分享。 阅读全文
posted @ 2015-08-06 17:14 不爱洗脸 阅读(3482) 评论(4) 推荐(3)