libevent源码深度剖析十一——时间管理张亮
为了支持定时器,Libevent必须和系统时间打交道,这一部分的内容也比较简单,主要涉及到时间的加减辅助函数、时间缓存、时间校正和定时器堆的时间值调整等。下面就结合源代码来分析一下。1
初始化检测 Libevent在初始化时会检测系统时间的类型,通过...
分类:
其他好文 时间:
2014-05-16 09:16:50
阅读次数:
299
libevent源码深度剖析十——支持I/O多路复用技术张亮
Libevent的核心是事件驱动、同步非阻塞,为了达到这一目标,必须采用系统提供的I/O多路复用技术,而这些在Windows、Linux、Unix等不同平台上却各有不同,如何能提供优雅而统一的支持方式,是首要关键的问题,这其实不难,本节就...
分类:
其他好文 时间:
2014-05-16 08:58:03
阅读次数:
345
libevent源码深度剖析九——集成定时器事件张亮
现在再来详细分析libevent中I/O事件和Timer事件的集成,与Signal相比,Timer事件的集成会直观和简单很多。Libevent对堆的调整操作做了一些优化,本节还会描述这些优化方法。1
集成到事件主循环 因为系统的I/O机制像sel...
分类:
其他好文 时间:
2014-05-16 08:50:36
阅读次数:
329
最近Mayuyu遇到个神奇的数论题目,Mayuyu能做出来真的不容易啊,描述如下。
题目:给定一个正整数,满足条件,以为根节点进行扩展,对于每一个节点,它只能到达能整除
它的节点,如果存在节点,使得成立,则必定会经过点,对于每一个节
点,有一个值,这个值等于这个节点的最大深度,最后求输出每个节点的序号乘对应值的和。
分析:对于一个数,它只能到达它的所有因子,...
分类:
其他好文 时间:
2014-05-15 14:38:20
阅读次数:
255
题意:中序遍历
思路:采用递归实现。因为函数声明是返回一个vector,所以每个子树返回的是该子树的中序遍历的结果
按照 左、根、右的次序把根和左右子树的vector合并起来就可以了...
分类:
其他好文 时间:
2014-05-15 06:21:09
阅读次数:
255
深度学习——人工神经网络再掀研究热潮胡晓林转自:http://caai.cn/contents/118/1934.html人工神经网络起源于上世纪40年代,到今天已经70年历史了。就像人的一生,经历了起起落落,有过辉煌,有过黯淡,有过嘈杂,有过冷清。总体说来,过去的20年中人工神经网络的研究不温不火...
分类:
其他好文 时间:
2014-05-15 01:59:20
阅读次数:
903
第三道树的题目,我还是不会,我擦,怎么递归算法还是不能很好理解。看来还得好好研究下递归算法。题目:求一棵树的最大深度。思路:递归地求取左子树最大深度
和 右子树最大深度,返回较大值即为 整棵树的 最大深度。代码:public int maxDepth(TreeNode root) { ...
分类:
其他好文 时间:
2014-05-14 23:07:14
阅读次数:
373
广度优先搜索(Breadth-First-Search)和深度优先搜索(Deep-First-Search)是搜索策略中最经常用到的两种方法,特别常用于图的搜索.其中有很多的算法都用到了这两种思想,比如:Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。BFS...
分类:
其他好文 时间:
2014-05-14 12:29:53
阅读次数:
544
最近在看《深度探索C++对象模型》这本书的时候,里面第一章提到了虚拟继承,有这么一句话说:“在虚拟继承的情况下,base
class不管在继承串链中被派生多少次,永远只会存在一个实体。”一开始我理解错了,以为这个继承类图体系里面全局只有一个base
class对象,后来查了些资料才知道意思是一个子....
分类:
编程语言 时间:
2014-05-14 12:22:34
阅读次数:
379