libevent分解之数据结构 小根堆

来源:互联网 发布:java职位描述怎么写 编辑:程序博客网 时间:2024/05/16 01:02

Libevent使用堆来管理Timer事件,其key值就是事件的超时时间,源代码位于文件min_heap.h中。
所有的数据结构书中都有关于堆的详细介绍,向堆中插入、删除元素时间复杂度都是O(lgN),N为堆中元素的个数,而获取最小key值(小根堆)的复杂度为O(1)。堆是一个完全二叉树,基本存储方式是一个数组。

源代码地址:

http://download.csdn.net/detail/jiayp004/6312023