排序:
默认
按更新时间
按访问量

lock free的循环队列

<br />1. 如果是一个生产者和一个消费者,则只需对读写index的更新是原子的就可以了,这种情况下只需要两个atomic的变量就搞定<br />2. 如果是多个生产者,则采用这种方式:<br /> a. 生产者原子的预定一个写的位置<br />...

2011-02-26 19:08:00

阅读数:808

评论数:0

关于锁的一些想法

<br />1. 程序在进入临界区后有各种原因是被换出,中断,调度,阻塞等<br />2. 临界区内要短<br />3. spin lock要慎用,如果是使用spin lock,但是临界区太大,进入临界区的线程被调度,则另一个被调度的线程会忙等,白白浪费cpu,...

2011-01-23 19:33:00

阅读数:335

评论数:0

最大间隙问题

<br />给定n个实数,求出相邻的两个数,这两个数的差值是所有相邻数的最大<br />例如 ,1 ,3 ,7,8,  则答案是3,7<br /> <br />思想如下:<br />找出最大值和最小值,则所有的两个数 m- n > ...

2011-01-23 19:29:00

阅读数:680

评论数:0

linux 内存管理

<br />只是大概谢谢,笔记类型的。<br />1. 以页位单位<br />struct page {<br />          page_flags_t flags;                 //标记:是否需要写出,是否被锁在内存等...

2011-01-15 17:28:00

阅读数:626

评论数:0

很久未来,mark

<br />一年多未来了,换工作了,结婚,买房,生小孩了,msn上最早的日志都是5年多以前的了,时间飞逝,还是尽量写写,给未来留下一些什么吧<br />1. 换工作,其实都差不多,该干啥干啥<br />2. 现在没以前那么多的牢骚,没以前那么多的写东西热情,觉得...

2010-11-06 23:17:00

阅读数:365

评论数:0

gamm encoding

http://en.wikipedia.org/wiki/Elias_gamma_coding适合对大部分数都是比较小的数进行压缩

2010-05-28 11:56:00

阅读数:501

评论数:0

隐马尔可夫模型

前一篇文章没有系统地介绍这个模型,本篇文章将详细介绍1. 定义:The Hidden Markov Model is a finite set of states, each of which isassociated with a (generally multidimensional) pr...

2009-06-17 11:34:00

阅读数:4238

评论数:0

隐式马尔科夫链与维特比算法

1. 隐式马尔科夫链: 马尔科夫链是一系列的状态转换,设为x1...xn,其中xn至于xn-1相关,假设xi 会以p(i)的概率产生yi, 如下图所示: 观察到的是Y的序列,由于X序列不可见,是隐式的,因此称为隐式马尔科夫链 真实系统中,x与y之间有可能不是一一对应的关系,但总有一个从X到Y的概率...

2009-06-15 20:02:00

阅读数:7604

评论数:2

语言模型

1. 对检索用户的通常建议是使用在文档中出现的词作为query,因此,如果一篇文章与查询词相关,那么这篇文章的模型可以生成这个query,因此检索模型从P(R = 1|q, d) 变为了P(q|Md),Md是文章的模型 2. 语言模型: a. 形式语言,例如有限状态自动机,根据文法来产生语言b. ...

2009-06-13 18:03:00

阅读数:2638

评论数:0

统计陷阱读书笔记

第一章 内在有偏的样本主要将通过偏差的样本来获得想要的数据,文中举例耶鲁大学毕业生的工资来说明这个问题,给出统计结论时却并未给出样本,通过合理的猜测,可以知道这样的样本是有偏差的,例如能联系上的人一般都不穷,愿意告诉别人自己工资的人更不穷 第二章 精心挑选的平均数一般给统计结论时却并不给出是那种平...

2009-06-10 20:59:00

阅读数:1625

评论数:0

向量空间模型

一: 不同区域的权重计算1.  对出现在文档的不通区域的term赋予不同的权值,例如title,author,body等,这样需要在倒排表中记录term每一次出现的位置2. 对不同的区域赋予不通的权值,Gi, 使得 Sum(Gi) = 13. 对于这个Gi的值,可以通过机器学习的方法来确定:给定一...

2009-05-24 15:02:00

阅读数:2364

评论数:2

倒排表交集的计算

1. 对倒排表进行排序2. 对排序后的倒排表进行求交集的时间复杂度是o(n + m)3. 两两合并和多路同时合并的效果差不多4.可以采用跳表来加速合并过程,所谓跳表即是 因此在查询时可以根据快表进行跳转,但快表的长度不宜太长或过短,经验值是log(n)

2009-05-16 23:43:00

阅读数:856

评论数:0

词典压缩

1. 压缩目的: 将整个词典放在内存,避免多次访问硬盘2. 假设压缩前词典采用定长数组格式,每个数组的类型如下: struct{ char term[k]; int freq; pointer posting;} 假设指针长度为4, 则一个term耗费的内存为k + 4 + 4, 这里显然的浪费是...

2009-05-16 23:29:00

阅读数:682

评论数:0

通配符匹配

问题描述:对于一个给定的词典S和一个包含通配符的查询传a*b, 在词典中找出匹配a*b的所有串 1. 词典的结构: 对于匹配类,通常来说树结构是适用的2. 假设词典是树结构,切通配符在串的最后,即类似ab*这样,我们可以从树的根节点开始,沿着ab向下,找到所有的匹配串3. 那么对于a*b呢? 我们...

2009-05-16 15:42:00

阅读数:1326

评论数:0

建立索引

1. 索引是指倒排表两种算法如下:a. 将termid--docid 进行排序,termid为主键,docid为次键,然后建立termid到docid的倒排,例如:I --- 1                    AB ---3                       AB[1] ---3...

2009-05-14 14:17:00

阅读数:514

评论数:0

检索系统的硬件基础

一,基本的硬件时间如下: SymbolStatisticValue  average seek time5 ms <!-- MATH $5/times 10^{-3}$ --> s  transfer time per byte0.02 s <!-- MATH $2 /t...

2009-05-14 11:28:00

阅读数:421

评论数:0

double array trie

Trie 用于前缀匹配,在搜索引擎的切词中有广泛的引用,但trie占有空间太多,因此有doube array trie,参考文章:http://linux.thai.net/~thep/datrie/datrie.html 构建trie的方法主要有两种,一种是动态构建,如参考文章里的,另一种就是批...

2009-05-10 16:22:00

阅读数:1630

评论数:0

x-headers

原文链接:http://www.yeeyan.com/articles/view/37503/37323英文链接:http://mobiforge.com/developing/blog/useful-x-headers X头域解析191个读者 biAji@ yeeyan.com 2...

2009-05-07 15:10:00

阅读数:1864

评论数:0

sparse-table

google的sparse table的结构主要思想:1. 首先是一个数组2. 并不真正地分配数组的每一个元素占用的空间3. 用一个bitmap来管理数组的每一个元素是否有值,如果有值,则分配空间4. 将数组分段,提高查询bitmap和在数组里增加新空间时的效率 参考文章地址:http://goo...

2009-05-06 11:46:00

阅读数:2041

评论数:0

suffix tree,python 版

 代码如下:## A Suffix-tree implementation#NODE_COUNT = 1class EdgeSet:        Save edge, edge is identified by start node and first char        def __ini...

2009-04-19 22:18:00

阅读数:1422

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭