摘要: 这篇真的写的很棒,用心领会吧!怎样写一个拼写检查器Peter Norvig翻译:Eric You XU上个星期, 我的两个朋友 Dean 和 Bill 分别告诉我说他们对 Google 的快速高质量的拼写检查工具感到惊奇. 比如说在搜索的时候键入 [speling], 在不到 0.1 秒的时间内, Google 会返回: 你要找的是不是 [spelling]. (Yahoo! 和 微软也有类似的功能). 让我感到有点奇怪的是我原想 Dean 和 Bill 这两个很牛的工程师和数学家应该对于使用统计语言模型构建拼写检查器有职业的敏感. 但是他们似乎没有这个想法. 我后来想了想, 他们的确没什么理 阅读全文
posted @ 2012-08-18 15:19 ArthurSJiang 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 这是一篇介绍NLTK的文章,原载于这里,值得一看,唯一不足之处在于作者对于一些名词的解释略显业余,同时对于最新版的NLTK,我们在代码上的实现和原文上还是有些出入的。原文见下: 在本期文章中,David 向您介绍了自然语言工具包(Natural Language Toolkit),它是一个将学术语言技术应用于文本数据集的 Python库。称为“文本处理”的程序设计是其基本功能;更深入的是专门用于研究自然语言的语法以及语义分析的能力。 鄙人并非见多识广,虽然写过很多关于 文本处理 方面的东西(例如,一本书),但是,对我来说, 语言处理(linguistic processing) 是一个相对.. 阅读全文
posted @ 2012-08-18 15:13 ArthurSJiang 阅读(513) 评论(0) 推荐(0) 编辑
摘要: No1:先完成6个中心面1.1->完成一对中心面1.2->完成剩下4个面中连续的两个1.3->先完成3*3的中心面,然后按照公式完成其余部分,公式:XR' U 2R' U' XR U 2RNo2:完成12条楞2.1->先完成所有对楞2.2->将每条楞配成2:32.3->复原楞,有一种不好的情况是只剩两条楞混色,公式:TL'(1,2,3R) U2 TL'(1,2,3R) U2 F2 TL'(1,2,3R) F2 TR(5,6,7R) U2 TR'(5,6,7R') U2 TL2(1,2,3R 阅读全文
posted @ 2012-08-18 15:12 ArthurSJiang 阅读(2261) 评论(0) 推荐(0) 编辑
摘要: 对与单处理器设备多线程往往不能完全发挥效率,同时运行多个线程一般是通过系统轮询给不同的线程分配cpu时间片;但在多处理器设备上多线程的效率极高,可以进行真正意义上的同时运行;多线程的高效率带来的问题是程序设计的复杂性。现行标准由NPTL项目组产生。在编译多线程程序时要加宏_REENTRANT以使用可重入功能。程序需包含头函数pthread.h(p应该代表POSIX)。编译命令(非默认支持NPTL线程库)$ cc -D_REENTRANT -I/usr/include/nptl oox.c-o ooxx -L/usr/lib/nptl -lpthread编译命令(默认支持NPTL线程库)$ cc 阅读全文
posted @ 2012-08-18 15:06 ArthurSJiang 阅读(167) 评论(0) 推荐(0) 编辑
摘要: sudo -s -Hpasswordinit 0//关机init 6//重启 阅读全文
posted @ 2012-08-18 15:06 ArthurSJiang 阅读(563) 评论(0) 推荐(0) 编辑
摘要: //by Arthur//2011.5#include<stdio.h>#include<stdlib.h>//将大九宫格分成小九宫格#define CASE1 3#define CASE2 6#define CASE3 9typedef struct cell{int key;int state;}cell; //数独节点,key->填入值,state->数独节点当前状态int goon=1;//递归方向控制void shudu(cell (*array)[9],int start);//数独函数,输入参数:由数独节点组成的二维数组;遍历起始点int ma 阅读全文
posted @ 2012-08-18 15:05 ArthurSJiang 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 用于判断图中节点对的连通性快速查找:#include<stdio.h>#define N 10000main(){int i,p,q,t,id[N];for(i=0;i<N;i++) id[i]=i;while(scanf("%d%d\n",&p,&q)==2){if(id[p]==id[q]) continue;for(t=id[p],i=0;i<N;i++)if(id[i]==t) id[i]=id[q];printf("%d %d\n",p,q);}}优点:查找操作只需查看数组中的值是否相等缺点:每次做并集操 阅读全文
posted @ 2012-08-18 15:03 ArthurSJiang 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 宏定义实现位数组相关操作:#define BITMASK(b) (1<<((b)%CHAR_BIT))//字节内偏移#define BITSLOT(b) ((b)/CHAR_BIT)//将数据映射到所属字节内#define BITSET(a,b) ((a)[BITSLOT(b)] |= BITMASK(b))//置位#define BITCLEAR(a,b) ((a)[BITSLOT(b)] &= ~BITMASK(b))//清位#define BITTEST(a,b) ((a)[BITSLOT(b)] & BITMASK(b))//查看相应位数据#define B 阅读全文
posted @ 2012-08-18 15:02 ArthurSJiang 阅读(119) 评论(0) 推荐(0) 编辑
摘要: Bloom filter的实质就是位数组加多次哈希优点:节省空间,快速缺点:有一定误差率适用范围:大容量数据检索过程描述:对输入数据进行多次哈希,对相应位置1;判断是否存在时,应用同样的哈希函数检测相应位是否为1.影响准确性的因素:输入元素个数->n位数组大小->m哈系函数个数->k误差率->ek=(ln2)*(m/n)时e最小m>=n*lg(1/e)时满足误差率最大为e,一般取m=1.44*n*lg(1/e)用以保证有足够的冗余0简单实现(不包括哈希函数):.h文件:#ifndef __BLOOM_H__#define __BLOOM_H__//2011.06. 阅读全文
posted @ 2012-08-18 15:01 ArthurSJiang 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 头文件:stdarg.h#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) )//将sizeof()转换位相应int类型对应的字节数,&~先当与除法,(+sizeof(int)-1)是为了补字节,除(sizeof(int)-1)是为了防止全置0;例:n为char,1+4-1=4(&~)4-1=3->4否则4&~4=0#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )//计算第一个可变参数地址,v为省 阅读全文
posted @ 2012-08-18 14:59 ArthurSJiang 阅读(127) 评论(0) 推荐(0) 编辑