
Computer-算法
jichunlai
学着生活
展开
-
归并算法、赢者树、败者树
归并排序 1、归并原理:把第一阶段所生成的顺串加以合并(例如通过若干次二路合并),直至变为一个顺串为止,即形成一个已排序的文件。 2、在K路归并中,最直接的方法就是作K-1次比较来找出所要的记录,但这样做花的代价较大,我们采用选择树的方法来实现K路归并。选择树是完全二叉树,有两种类型:赢者树和败者树。 (1)赢者树 在利用选择树进行归并时,将两个子女结点中的赢者(关键码值较转载 2012-09-06 07:21:20 · 2927 阅读 · 0 评论 -
Paxos算法
Paxos算法 目录·问题和假设 ·算法 ·其他 Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La",此人现在在微软研究院)于1990年提出的一种基于消息传递的一致性算法。[1] 这个算法被认为是类似算法中最有效的。 问题和假设 Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场转载 2013-05-04 23:53:32 · 1307 阅读 · 0 评论 -
32个重要的算法
下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的或是比较生僻的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了) A*搜寻算法 俗称A星算法。这是一种在图形转载 2012-09-06 07:21:38 · 1615 阅读 · 0 评论 -
MapReduce简介
MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(化简)",和他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。[1] 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组转载 2012-09-06 07:19:41 · 1502 阅读 · 0 评论 -
Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms
Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms Pseudocode from article of the above name in PODC96 (with two typos corrected), by Maged M. Michael and Michael L转载 2012-09-05 15:35:56 · 1861 阅读 · 0 评论 -
布隆过滤器(Bloom Filter)
布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 [编辑] 基本概念 如果想判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思路.转载 2012-09-06 07:21:18 · 1441 阅读 · 0 评论 -
大数据算法
1,异步操作,队列 2,多处理器充分利用 3,归并排序,败者树K路归并 4,优良的程序 5,分区操作 6,hash的重要性 7,索引 8,分批处理 9,64位 10,合适的数据库辅助bdb sqlite mysql 11,缓存原创 2013-05-04 23:55:05 · 1336 阅读 · 0 评论