二分查找,要求集合是有序的,在这个条件基础上,它比顺序查找具有更好的性能。
如果使用伴随数组,只需要struct中有一个key是有序的就行。
需要指出的是,当数组放在磁盘上时,时间复杂度就不再是O(LogN),而取决于磁盘存取的开销。
源代码:
#include <stdio.h>
typedef int TYPE;
int search(TYPE* arr, int n, int t)
{
int low = 0;
int hi[......]
二分查找,要求集合是有序的,在这个条件基础上,它比顺序查找具有更好的性能。
如果使用伴随数组,只需要struct中有一个key是有序的就行。
需要指出的是,当数组放在磁盘上时,时间复杂度就不再是O(LogN),而取决于磁盘存取的开销。
源代码:
#include <stdio.h>
typedef int TYPE;
int search(TYPE* arr, int n, int t)
{
int low = 0;
int hi[......]
顺序查找也叫线性查找,是最简单的查找算法。穷举法遍历每个元素,查找是否包含元素t。
平均、最坏性能O(N)
#include <stdio.h>
typedef int TYPE;
int search(TYPE* arr, int n, TYPE t)
{
int i=0;
for(i=0; i<n; i++)
{
if(arr[i]==t)
{
re[......]
第2章:Architecture of a Search Engine (搜索引擎的整体结构)
1、搜索引擎的两个目标:Effectiveness(效果quality)和Efficienct(性能speed)。
2、搜索引擎的组成:
(1) Indexing Process (建索引)
包括:
Text Acquistion (文档获取),典型的有:Crawling (爬虫), Metadata (元信息抽取)。
Text Transformation (文档转换),主要是:[......]
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[......]
一目了然
cat /proc/net/dev
如何重置某个计数,仅对网卡驱动通过内核模块加载的有效。
假设你的网卡驱动是e100。
modprobe -r e100; modprobe e100; ifup eth0[......]