Git傻瓜教程

参考自:http://www.ralfebert.de/tutorials/git/

之前看过这哥们的一个Git视频,40多分钟,有点晕,其实它这个教程比较精简。

1、Git的结构

Git的结构和传统SVN不一样:
(1)三种状态:Change, Staged, Commited。
Change不用说了,你改动了一个,然后没有调用任何git命令,就是这种状态。
之后,需要先Stage(声明)这个文件改动了,然后进入Staged状态。
最后,再Commit,生成新的版本c[......]

继续阅读

Search Engines: Information Retrieval in Practice – 第5章

Ranking with Indexes

本章内容:索引结构

1、每个系统都需要对应的数据结构(data structures)。信息检索中最常用的数据结构是:倒排索引(inverted index)。

2、本章的另外一个主题是:查询处理(Query processing),即如何让查询使用索引的数据。

3、抽象检索模型:
(1)一篇文档被转化为对应的词项(index terms),形成不同的特征(features)
(2)主题特征(topical features)[......]

继续阅读

多路归并算法(K-Way Merge Algorithm)

多路归并是外部排序(External Sort)的基础,实现也比较简单,和最简单的归并排序中的二路归并是基本一样的,只不过路数是浮动的k。

(1)假设有K路数据流,流内部是有序的,且流间同为升序或降序

(2)首先读取每个流的第一个数,如果已经EOF,pass

(3)将有效的k(k可能小于K)个数比较,选出最小的那路mink,输出,读取mink的下一个

(4)直到所有K路都EOF

代码如下:
/*
* main.c
*
* Created on: 20[......]

继续阅读

Linux sort的四个小技巧

像排序这种事情,用C/C++可以写,但很麻烦,交给sort就好了,功能很强大的。

1、按照多个列排序(列间空格分开):

测试数据:

先按照第1列排序,再第2列的命令:

2011-11-20补充:必须加-s选项,表示stable sort,即两列排序互相不打扰。
$ cat ./test
1       x
5       8
1       a

$ sort -s -k 1 -k 2 ./test
1       a
1       x
5      [......]

继续阅读