14 ygrx

尚未进行身份认证

不以物喜不以己悲

等级
TA的排名 1w+

用Golang写一个搜索引擎(0x02)

这一篇,我们来说说搜索引擎最核心的技术,倒排索引技术,倒排索引可能需要分成几篇文章才说得完,我们先会说说倒排索引的技术原理,然后会讲讲怎么用一些数据结构和算法来实现一个倒排索引,然后会说一个索引器怎么通过文档来生成一个倒排索引。倒排索引什么是倒排索引呢?索引我们都知道,就是为了能更快的找到文档的数据结构,比如给文档编个号,那么通过这个号就可以很快的找到某一篇文档,而倒排索引不是根据文档编号,而是通过

2016-04-12 00:44:25

从零开始,写一个搜索引擎 (0x01)

第零部分我们已经列了一个提纲了,这一篇文章开始要详细说说了。搜索引擎基本概念在说搜索引擎架构分层之前,我们先确定几个搜索引擎的概念。文档,搜索引擎的基本数据单元,比如一张网页,一个商品,多个文档合在一起就是一个搜索引擎的完整数据倒排索引,正排索引,存储在搜索引擎内部的数据结构,也是搜索引擎最底层的数据结构。索引器,将文档数据生成可供搜索的倒排索引和正排索引的程序就是索引器。检索器,通过对倒排

2016-04-12 00:39:47

从零开始,写一个搜索引擎 (0x00)

Go语言,对于一个将近10年C/C++的程序员来说,Go的一些特质让我觉得非常舒服,从公司项目衍生出了一个自己的搜索引擎项目,然后有了这篇文章

2016-04-09 15:03:27

一个go语言实现的短链接服务

一个go语言实现的短链接服务。大家都用过新浪微博的短连接吧,就是t.cn后面一串不知道是什么的数,然后跳转到一个新页面去,这是怎么实现的呢?

2015-06-16 18:46:27

[推荐算法]基于用户的协同过滤算法

什么是推荐算法推荐算法最早在1992年就提出来了,但是火起来实际上是最近这些年的事情,因为互联网的爆发,有了更大的数据量可以供我们使用,推荐算法才有了很大的用武之地。最开始,所以我们在网上找资料,都是进yahoo,然后分门别类的点进去,找到你想要的东西,这是一个人工过程,到后来,我们用google,直接搜索自己需要的内容,这些都可以比较精准的找到你想要的东西,但是,如果我自己都

2013-11-12 14:12:49

杨辉三角形变型【庞果网】

又一个庞果网的题目题目描述1111123211367631以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上的数和右上数等3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输

2013-11-08 15:20:50

来聊聊STL标准库(一)--- 迭代器 inerators(1)

迭代器---inerators迭代器是设计模式中的一种,具体的描述是,有这么一种方法,可以依次的访问某一个集合中的每一个元素,而且又不需要暴露集合内部元素的细节,那这种表达方式就是迭代。迭代的思想后来被很多编程语言收录了,比如python的 for...in...语句实际上就是一个迭代器。当然,在c++11最新的标准中,也提供了对迭代的原生支持。在我们编写STL程序时,迭

2013-10-24 16:27:22

来聊聊STL标准库(一)---allocators

写在前面的话C++的STL库很早以前就已经是C++的标准库了,大量的c++应用都在使用,STL是一个代码写得非常精美的库,侯捷老师有一本>对此有非常详细的介绍,感兴趣的可以去看一下,认真看完看懂以后,对你编程的思想还是有些影响的,毕竟读完以后看到了那么多大师的写法,怎么说脑袋还是会受到一些影响的。看标准库的源代码,并不是要更加熟悉的使用库,而是强化自己的编程思想,像STL这样的标准库,

2013-10-23 17:47:48

文本相似度计算-JaccardSimilarity和哈希签名函数

在目前这个信息过载的星球上,文本的相似度计算应用前景还是比较广泛的,他可以让人们过滤掉很多相似的新闻,比如在搜索引擎上,相似度太高的页面,只需要展示一个就行了,还有就是,考试的时候,可以用这个来防作弊,同样的,论文的相似度检查也是一个检查论文是否抄袭的一个重要办法。文本相似度计算的应用场景过滤相似度很高的新闻,或者网页去重考试防作弊系统论文抄袭检查光第一项的应用就非常广泛。

2013-10-15 13:57:23

你用过哪些操作系统?

首先,简单介绍一下自己,我是80后,对于电脑,虽然谈不上骨灰,但也算一个比较资深的玩家了,目前的工作从事的是软件相关的工作,来八一八自己的电脑历程吧。286时代,DOS还在读小学的时候,就看到过电脑,那时候爸爸办公室有一台286的电脑,感觉非常神奇,一个黑色的屏幕,里面一个C:>_,然后光标一闪一闪的,自己总在上面打好多字符,然后又用退格键删除掉,乐此不疲,有一天,不小心按了个回车,完

2013-09-29 14:46:45

子序列的个数 --- 庞果网

庞果网的新题目:题目描述本题同样来自caopengcs,只要你有兴趣,每个人都可以出题(出题入口在主页右侧边栏“贡献题目”->“我要发布”内),以下是题目详情:子序列的定义:对于一个序列a=a[1],a[2],......a[n],则非空序列a'=a[p1],a[p2]......a[pm]为a的一个子序列其中1对于给出序列a,有些子序列可能是相同的,这里只算做1个

2013-09-18 15:39:39

Go语言简单的TCP编程

前期准备需要import"net"包IP类型,其中一个重要的方法是IP.ParseIP(ipaddrstring)来判断是否是合法的IP地址TCPClientfunc(c*TCPConn)Write(b[]byte)(nint,erros.Error)用于发送数据,返回发送的数据长度或者返回错误,是TCPConn的方法func(c*TCPCon

2013-09-17 15:21:23

Go语言语法汇总

最近看了看GoLang,把Go语言的语法总结了一下,做个快速参考数据类型varvarNametype,varvar1,var2…type,varvarNametype=Value,varvarName1,varName2type=Value1,Value2,varvarName1,varName2=Value1,Value2,varName

2013-09-16 14:21:09

LRU Cache的简单c++实现

什么是LRULRUCache是一个Cache的置换算法,含义是“最近最少使用”,把满足“最近最少使用”的数据从Cache中剔除出去,并且保证Cache中第一个数据是最近刚刚访问的,因为这样的数据更有可能被接下来的程序所访问。LRU的应用比较广泛,最基础的内存页置换中就用了,对了,这里有个概念要清楚一下,Cache不见得是CPU的高速缓存的那个Cache,这里的Cache直接翻译为缓

2013-09-05 09:17:36

数组排序 --- 庞果

题目说明本题来自caopengcs,只要你有兴趣,每个人都可以出题(出题入口在主页右侧边栏“贡献题目”内),以下是题目详情:给定一个包含1-n的数列,我们通过交换任意两个元素给数列重新排序。求最少需要多少次交换,能把数组排成按1-n递增的顺序,其中,数组长度不超过100。例如:原数组是3,2,1,我们只需要交换1和3就行了,交换次数为1,所以输出1。原数组是2,3,1

2013-09-04 15:12:59

Hadoop单机版安装,配置,运行

Hadoop是最近非常流行的东东啦,但是乍一看都觉得是集群的东东,其实在单机版上安装Hadoop也是可以的,并且安装好以后可以很方便的进行程序的调试,调试好程序以后再丢到集群中,放心的算吧,呵呵。。本文说的是在ubuntu上hadoop的安装,其他的linux可以类比进行。安装前的准备在安装之前,我们需要准备以下的东西Ubuntu的安装盘,我装的就是桌面吧,你可以选择服务器

2013-09-02 17:05:58

我对开源软件的理解

这是前几个月的一个作业,贴出来和大家一起讨论一下(以我blog的流量,应该也没人讨论吧,呵呵)。读了《大教堂与集市》,对于开源软件,有了更深一步的认识,我觉得开源软件从最初的几人小作坊,发展到后来书中所说的集市,到现在已经不完全是个集市了,她已经开始对大教堂之类的商业软件产生了巨大的影响了。中世纪时代纵观开源软件的历史,也是一部坎坷史,同时也是一部互联网的发展史,在没有

2013-09-02 11:21:40

不可表达的数 --- 梅森数 庞果题目

本题的奖品由亿阳信通赞助,以下是题目详情给定表达式[x/2]+y+x*y,其中x,y都是正整数。其中的中括号表示下取整,例如[3/2]=1,[5/2]=2。有些正整数可以用上述表达式表达出来,例如正整数2,当取x=y=1时,可以把2表达出来(解释下:当x=y=1时,[x/2]+y+x*y=[1/2]+

2013-08-29 15:27:32

字符串消除

好久没来了,又一道庞果的题目给定一个字符串,仅由a,b,c3种小写字母组成。当出现连续两个不同的字母时,你可以用另外一个字母替换它,如:有ab或ba连续出现,你把它们替换为字母c有ac或ca连续出现时,你可以把它们替换为字母b有bc或cb连续出现时,你可以把它们替换为字母a。你可以不断反复按照这个规则进行替换,你的目标是使得最终结果所得到的字符串尽可能短,求最终结果

2013-08-28 10:37:38

24点计算 --- 庞果

问题描述24点游戏是一种使用扑克牌来进行的益智类游戏,游戏内容是:从一副扑克牌中抽去大小王剩下52张,任意抽取4张牌把牌面上的数(A代表1)运用加、减、乘、除和括号进行运算得出24。每张牌都必须使用一次,但不能重复使用。有些组合有不同种算法,例如要用2,4,6,12四张牌组合成24点,可以有如下几种组合方法:2+4+6+12=244×6÷2+

2013-07-30 17:47:34

查看更多

勋章 我的勋章
    暂无奖章