数据结构/算法
yuliying
这个作者很懒,什么都没留下…
展开
-
深入剖析 redis 数据结构 skiplist
转自: http://daoluan.net/blog/decode-redis-data-struct-skiplist/概述redis 中 zset 是一个有序非线性的数据结构,它底层核心的数据结构是跳表. 跳表(skiplist)是一个特俗的链表,相比一般的链表,有更高的查找效率,其效率可比拟于二叉查找树。一张关于跳表和跳表搜索过程如下图:在图中,需要寻找转载 2015-08-23 13:55:07 · 570 阅读 · 0 评论 -
Filter及FilterChain的使用详解
转自: http://blog.csdn.net/zhaozheng7758/article/details/6105749一、Filter的介绍及使用什么是过滤器?与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问转载 2015-06-25 12:03:11 · 700 阅读 · 0 评论 -
快速排序(c++代码)
//快速排序/*快速排序的思路是:1.先从数列中取出一个数作为基准数.2.分区.将比这个数大的数全部放到它的右边,小于或等于它的数全放到左边.3.再对左右区间重复第二步,直到各区间只有一个数.*///如有错误,欢迎指正.#include #include using namespace std;//《算法导论》上的分区方法,具体图例请参考本书.//选取最右边的数为基原创 2014-12-22 17:22:38 · 651 阅读 · 0 评论 -
最小堆,堆排序(c++代码)
//minheap , heap sort#include #include #include #define HEAP_PARENT(i) ((i-1)/2)#define HEAP_LEFTCHILD(i) (2*i+1)#define HEAP_RIGHTCHILD(i) (2*i+2)using namespace std;//struct HeapNode{ He原创 2014-12-22 12:25:07 · 946 阅读 · 0 评论 -
Using Quiescent States to Reclaim Memory
传送门: http://preshing.com/20160726/using-quiescent-states-to-reclaim-memory/转载 2016-08-09 13:25:17 · 323 阅读 · 0 评论 -
TestNG源代码分析 --- 依赖管理的实现(一)
转自: http://blog.csdn.net/dm_vincent/article/details/7631916最近看了一些TestNG的源代码,觉得这个测试框架的功能其实满强大的,里面的功能点很多,以后有机会慢慢分析一下它们的实现方法,今天主要介绍一下它如何实现方法之间的依赖关系。 背景知识: 想必大家都知道拓扑排序吧,拓扑排序最经典的应用场景就转载 2017-04-21 17:08:13 · 494 阅读 · 0 评论 -
TestNG源代码分析 --- 依赖管理的实现(二)
转自: http://blog.csdn.net/dm_vincent/article/details/7641570在上一篇文章中,留下了一些的问题:Graph对象中的一些字段是怎么被初始化的?在使用Graph对象的topologicalSort方法的时候,需要用到这些字段,比如m_nodes以及m_independentNodes这两个集合,它们分别存放的是所有的节点的转载 2017-04-21 17:10:16 · 593 阅读 · 0 评论 -
Twitter-Snowflake,64位自增ID算法详解
转自: http://www.lanindex.com/twitter-snowflake%EF%BC%8C64%E4%BD%8D%E8%87%AA%E5%A2%9Eid%E7%AE%97%E6%B3%95%E8%AF%A6%E8%A7%A3/Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的i转载 2017-07-08 10:08:06 · 396 阅读 · 0 评论