随笔分类 -  论文中的算法

摘要:我们试着降低此问题的复杂度。因为上述思路一再进行查找的时候,总是重复地循环,效率不高。那么怎么简化呢?先来看看这些序列:w0,w1,w2,w3,q0,w4,w5,q1,w6,w7,w8,q0,w9,q1 问题在于,如何一次把所有的关键词都扫描到,并且不遗漏。扫描肯定是无法避免的,但是如何把两次扫描... 阅读全文
posted @ 2015-04-02 09:40 Jessica程序猿 阅读(287) 评论(0) 推荐(0)
摘要:今天,我们再来研究另一个相关的问题。有些时候,除了找到关键词,我们还希望找到与原文章相似的其他文章。比如,"Google新闻"在主新闻下方,还提供多条相似的新闻。为了找出相似的文章,需要用到"余弦相似性"(cosine similiarity)。下面,我举一个例子来说明,什么是"余弦相似性"。为了简... 阅读全文
posted @ 2015-04-02 09:33 Jessica程序猿 阅读(302) 评论(0) 推荐(0)
摘要:这个标题看上去好像很复杂,其实我要谈的是一个很简单的问题。有一篇很长的文章,我要用计算机提取它的关键词(Automatic Keyphrase extraction),完全不加以人工干预,请问怎样才能正确做到?这个问题涉及到数据挖掘、文本处理、信息检索等很多计算机前沿领域,但是出乎意料的是,有一个非... 阅读全文
posted @ 2015-04-02 09:31 Jessica程序猿 阅读(248) 评论(0) 推荐(0)
摘要:tencent2012 笔试题附加题问题描述: 例如手机朋友网有 n 个服务器,为了方便用户的访问会在服务器上缓存数据,因此用户每次访问的时候最好能保持同一台服务器。已有的做法是根据 ServerIPIndex[QQNUM%n]得到请求的服务器,这种方法很方便将用户分到不同的服务器上去。但是如果一台... 阅读全文
posted @ 2015-04-01 18:57 Jessica程序猿 阅读(314) 评论(0) 推荐(0)
摘要:Solaris ZFS ARC的改动(相对于IBM ARC)如我前面所说,ZFS实现的ARC和IBM提出的ARC淘汰算法并不是完全一致的。在某些方面,它做了一些扩展:· ZFS ARC是一个缓存容量可变的缓存算法,它的容量可以根据系统可用内存的状态进行调整。当系统内存比较充裕的时候,它的容量可以自动... 阅读全文
posted @ 2014-06-20 12:23 Jessica程序猿 阅读(2879) 评论(0) 推荐(0)
摘要:在Solaris ZFS 中实现的ARC(Adjustable Replacement Cache)读缓存淘汰算法真是很有意义的一块软件代码。它是基于IBM的Megiddo和Modha提出的ARC(Adaptive Replacement Cache)淘汰算法演化而来的。但是ZFS的开发者们对IBM... 阅读全文
posted @ 2014-06-20 11:20 Jessica程序猿 阅读(3024) 评论(0) 推荐(0)
摘要:从前面的文章中,我们已经了解到了缓存设计的目标,缓存设计应该考虑的因素。今天我们来看看一系列缓存算法以及它们如何去解决问题的。同时,我们也会涉及到各种缓存算法的优缺点。这里我并不想讨论与预取(pre-fetch)相关的算法,主要是考虑各种淘汰算法。因为相比于预取算法,淘汰算法具有更大的通用性,对缓存... 阅读全文
posted @ 2014-06-20 11:18 Jessica程序猿 阅读(1473) 评论(0) 推荐(0)
摘要:每当我们讨论缓存时,总是会对如下几个词比较熟悉,Write-back, write-through, write-around似乎,缓存主要是为“写”设计的,其实这是错误的理解,写从缓存中获得的好处是非常有限的,缓存主要是为“读”服务的。之所以我们要顺带提一下,在一个缓存系统中,如何处理写的顺序,是... 阅读全文
posted @ 2014-06-20 11:17 Jessica程序猿 阅读(288) 评论(0) 推荐(0)
摘要:Caching(缓存)在现代的计算机系统中是一项最古老最基本的技术。它存在于计算机各种硬件和软件系统中,比如各种CPU, 存储系统(IBM ESS, EMC Symmetrix…),数据库,Web服务器,中间件等。它的一个重要的作用就是用于弥补不同速度的硬件之间的存取速度的差距,cache可以完全通... 阅读全文
posted @ 2014-06-20 11:16 Jessica程序猿 阅读(306) 评论(0) 推荐(0)
摘要:这篇文章将讨论:1) 分治策略的思想和理论2) 几个分治策略的例子:合并排序,快速排序,折半查找,二叉遍历树及其相关特性。说明:这几个例子在前面都写过了,这里又拿出来,从算法设计的策略的角度把它们放在一起来比较,看看分治是如何实现滴。由于内容太多,我将再花一篇文章来写4个之前没有写过的分治算法:... 阅读全文
posted @ 2014-06-16 09:25 Jessica程序猿 阅读(811) 评论(0) 推荐(0)
摘要:布隆过滤器 假如有1亿个不重复的正整数(大致范围已知),但是只有1G的内存可用,如何判断该范围内的某个数是否出现在这1亿个数中?最常用的处理办法是利用位图,1*108/1024*1024*8=11.9,也只需要申请12M的内存。但是如果是1亿个邮件地址,如何确定某个邮件地址是否在这1亿个地址中... 阅读全文
posted @ 2014-05-27 17:16 Jessica程序猿 阅读(361) 评论(0) 推荐(0)