算法
qian_348840260
这个作者很懒,什么都没留下…
展开
-
MCS队列锁
目录(?)[+]转载地址:http://blog.csdn.net/aesop_wubo/article/details/7538934简介与CLH类似,MCS也是由QNode对象构成的链表,每个QNode表示一个锁持有者,表示一个线程要么已经获取锁,要么正在等待锁。它与CLH不同的是,队列是一个显示链表,是通过next指针串起来的。实现转载 2014-10-15 16:49:07 · 665 阅读 · 0 评论 -
求一个集合的所有子集问题
转载请注明出处http://blog.csdn.net/pony_maggie/article/details/31042651作者:小马一个包含n个元素的集合,求它的所有子集。比如集合A= {1,2,3}, 它的所有子集是:{ {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}, @}(@表示空集转载 2015-04-10 17:25:58 · 701 阅读 · 0 评论 -
2.5亿个整数中找出不重复的整数 bitmap
在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数。 方案1:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存2^32 * 2 bit=1 GB内存,还可以接受。然后扫描这2.5亿个整数,查看Bitmap中相对应位,如果是00变01,01变10,10保持不变。所描完事后,查看bitmap,把对应位转载 2015-03-04 10:04:31 · 3100 阅读 · 0 评论 -
从头到尾彻底解析Hash 表算法 hash+最小堆
http://blog.csdn.net/v_JULY_v/article/details/6256463 十一、从头到尾彻底解析Hash 表算法作者:July、wuliming、pkuoliver 出处:http://blog.csdn.net/v_JULY_v。 说明:本文分为三部分内容, 第一部分为一道百度面试题Top K算法的详转载 2015-03-03 11:23:19 · 965 阅读 · 0 评论 -
海量数据处理之Bloom Filter详解 海量数据存在性判断
http://blog.csdn.net/v_july_v/article/details/6685894/前言 本博客内曾已经整理过十道海量数据处理面试题与十个方法大总结。接下来,本博客内会重点分析那些海量数据处理的方法,并重写十道海量数据处理的面试题。如果有任何问题,欢迎不吝指正。谢谢。一、什么是Bloom Filter Bloom Filter转载 2015-03-03 10:32:09 · 610 阅读 · 0 评论 -
海量数据处理10题
转载URL:http://blog.csdn.net/v_JULY_v/article/details/6279498第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比转载 2015-03-03 10:29:56 · 498 阅读 · 0 评论 -
JAVA并发编程学习笔记之CLH队列锁
NUMA与SMPSMP(Symmetric Multi-Processor),即对称多处理器结构,指服务器中多个CPU对称工作,每个CPU访问内存地址所需时间相同。其主要特征是共享,包含对CPU,内存,I/O等进行共享。SMP的优点是能够保证内存一致性,缺点是这些共享的资源很可能成为性能瓶颈,随着CPU数量的增加,每个CPU都要访问相同的内存资源,可能导致内存访问冲突,可能会导致CPU资源转载 2014-10-14 17:43:37 · 511 阅读 · 0 评论 -
短链接生成算法
public static String[] shortUrl(String url) { // 可以自定义生成 MD5 加密字符传前的混合 KEY // 要使用生成 URL 的字符 String[] chars = new String[] {"a", "b", "c", "d", "e", "f", "g", "h", "原创 2014-08-06 17:37:17 · 1043 阅读 · 0 评论 -
自旋锁、排队自旋锁、MCS锁、CLH锁
转载地址:http://coderbee.net/index.php/concurrent/20131115/577自旋锁(Spin lock)自旋锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态。自旋锁适用于锁保护的临界区很小的情况,临界区很小的话,锁占用的时间就很短。简单的实现转载 2014-10-15 16:47:20 · 1053 阅读 · 0 评论 -
java锁的种类以及辨析
java锁的种类以及辨析(一):自旋锁 http://ifeve.com/java_lock_see1/转载 2014-10-14 17:48:12 · 1197 阅读 · 0 评论 -
N个元素取出最大(小)的K个元素
题目要求:N个元素取出最大(小)的K个元素,请说明思路及算法。注:每个方法都有其适用范围,比如有的在N数目很大的情况下适用。方法一:首先对元素进行排序,然后去除最大的K个元素即可。可以用基本的直接插入排序、冒泡排序,也可以用快速排序和堆排序等方法来解决。一般来说都会要求快速排序,因为该方法综合来说是最好的。快速排序版本1:该方法是算法导论上提出的,比较的思想是:从最开始的元转载 2014-09-26 15:42:56 · 940 阅读 · 0 评论 -
FastLeader选举算法
如何在zookeeper集群中选举出一个leader,zookeeper使用了三种算法,具体使用哪种算法,在配置文件中是可以配置的,对应的配置项是”electionAlg”,其中1对应的是LeaderElection算法,2对应的是AuthFastLeaderElection算法,3对应的是FastLeaderElection算法.默认使用FastLeaderElection算法.其他两种算法我没转载 2015-10-30 11:02:57 · 456 阅读 · 0 评论