
数据结构/算法
yuliying
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入剖析 redis 数据结构 skiplist
转自: http://daoluan.net/blog/decode-redis-data-struct-skiplist/ 概述 redis 中 zset 是一个有序非线性的数据结构,它底层核心的数据结构是跳表. 跳表(skiplist)是一个特俗的链表,相比一般的链表,有更高的查找效率,其效率可比拟于二叉查找树。 一张关于跳表和跳表搜索过程如下图: 在图中,需要寻找转载 2015-08-23 13:55:07 · 612 阅读 · 0 评论 -
Filter及FilterChain的使用详解
转自: http://blog.youkuaiyun.com/zhaozheng7758/article/details/6105749 一、Filter的介绍及使用 什么是过滤器? 与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问转载 2015-06-25 12:03:11 · 738 阅读 · 0 评论 -
快速排序(c++代码)
//快速排序 /* 快速排序的思路是: 1.先从数列中取出一个数作为基准数. 2.分区.将比这个数大的数全部放到它的右边,小于或等于它的数全放到左边. 3.再对左右区间重复第二步,直到各区间只有一个数. */ //如有错误,欢迎指正. #include #include using namespace std; //《算法导论》上的分区方法,具体图例请参考本书. //选取最右边的数为基原创 2014-12-22 17:22:38 · 973 阅读 · 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 · 1024 阅读 · 0 评论 -
Using Quiescent States to Reclaim Memory
传送门: http://preshing.com/20160726/using-quiescent-states-to-reclaim-memory/转载 2016-08-09 13:25:17 · 361 阅读 · 0 评论 -
TestNG源代码分析 --- 依赖管理的实现(一)
转自: http://blog.youkuaiyun.com/dm_vincent/article/details/7631916 最近看了一些TestNG的源代码,觉得这个测试框架的功能其实满强大的,里面的功能点很多,以后有机会慢慢分析一下它们的实现方法,今天主要介绍一下它如何实现方法之间的依赖关系。 背景知识: 想必大家都知道拓扑排序吧,拓扑排序最经典的应用场景就转载 2017-04-21 17:08:13 · 538 阅读 · 0 评论 -
TestNG源代码分析 --- 依赖管理的实现(二)
转自: http://blog.youkuaiyun.com/dm_vincent/article/details/7641570 在上一篇文章中,留下了一些的问题: Graph对象中的一些字段是怎么被初始化的?在使用Graph对象的topologicalSort方法的时候,需要用到这些字段,比如m_nodes以及m_independentNodes这两个集合,它们分别存放的是所有的节点的转载 2017-04-21 17:10:16 · 638 阅读 · 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 · 431 阅读 · 0 评论