算法技术手册 – 查找 – 二分查找

二分查找,要求集合是有序的,在这个条件基础上,它比顺序查找具有更好的性能。

如果使用伴随数组,只需要struct中有一个key是有序的就行。

需要指出的是,当数组放在磁盘上时,时间复杂度就不再是O(LogN),而取决于磁盘存取的开销。

源代码:
#include <stdio.h>

typedef int TYPE;

int search(TYPE* arr, int n, int t)
{
int low = 0;
int hi[......]

继续阅读

Search Engines: Information Retrieval in Practice - 第2章

第2章:Architecture of a Search Engine (搜索引擎的整体结构)

1、搜索引擎的两个目标:Effectiveness(效果quality)和Efficienct(性能speed)。

2、搜索引擎的组成
(1) Indexing Process (建索引)
包括:
Text Acquistion (文档获取),典型的有:Crawling (爬虫), Metadata (元信息抽取)。
Text Transformation (文档转换),主要是:[......]

继续阅读

Screen下如何滚动窗口

Linux下的GNU Screen是很好的软件。

参考文章:FAQ: How to scrollback in GNU SCREEN?

如何滚动窗口呢?

首先,进入拷贝模式:
Ctrl + a + [
然后,如下方式移动:

(其实,此时上下左右,PageUp和PageDown都可以用的。)
h - Move the cursor left by one character
j - Move the cursor down by one line[......]

继续阅读