自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

日新为道的专栏

每天进步一点点,有一天你会发现牛人不过如此

  • 博客(101)
  • 资源 (4)
  • 收藏
  • 关注

原创 数学之美 系列十三 信息指纹及其应用

2006年8月3日 上午 11:17:00发表者:吴军,Google 研究员 任何一段信息文字,都可以对应一个不太长的随机数,作为区别它和其它信息的指纹(Fingerprint)。只要算法设计的好,任何两段信息的指纹都很难重复,就如同人类的指纹一样。信息指纹在加密、信息压缩和处理中有着广泛的应用。我们在图论和网络爬虫一文中提到,为了防止重复下载同一个网页,我们需要在哈希表中

2012-04-10 21:55:40 759

原创 数学之美系列二十一 - 布隆过滤器(Bloom Filter)

2007年7月3日 上午 09:35:00发表者:Google(谷歌)研究员 吴军 在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被访问过等等。最直接的方法就是将集合中全部的元素存在计算

2012-04-10 21:49:30 771

原创 怎样写一个拼写检查器

from:http://blog.youxu.info/spell-correct.html怎样写一个拼写检查器 Peter Norvig翻译: Eric You XU上个星期, 我的两个朋友 Dean 和 Bill 分别告诉我说他们对 Google 的快速高质量的拼写检查工具感到惊奇. 比如说在搜索的时候键入 [speling], 在不到 0.1 秒的时间内, G

2012-04-08 22:29:54 1091

原创 python学习--max和reduce函数

问题: 我有这样的一个列表:1['a.b.c.d11u.e.f.g', 'e.f88.g', 'caa3.z.brr', 'z.48.ff.ee']需要找节点最多的一个(节点间由.分割)看似简单的工作,要用 Pythonic 的方法来做,还是要对 Python 的内置函数有一定程度的熟悉,比如这里可以用最熟悉不过的max,

2012-04-08 21:33:59 4919

原创 python学习--使用 lambda 函数

Python 支持一种有趣的语法,它允许你快速定义单行的最小函数。这些叫做 lambda 的函数,是从 Lisp 借用来的,可以用在任何需要函数的地方。例 4.20. lambda 函数介绍>>> def f(x):... return x*2... >>> f(3)6>>> g = lambda x: x*2 >>> g(3)6>>> (la

2012-04-08 19:16:13 1095

原创 数学之美 十四 谈谈数学模型的重要性

本文系转载。2006年8月9日 上午 09:12:00发表者:吴军,Google 研究员 [注:一直关注数学之美系列的读者可能已经发现,我们对任何问题总是在找相应的准确的数学模型。为了说明模型的重要性,今年七月份我在 Google 中国内部讲课时用了整整一堂课来讲这个问题,下面的内容是我讲座的摘要。]在包括哥白尼、伽利略和牛顿在内的所有天文学家中,我最佩服的是地心说

2012-04-07 18:15:31 801

原创 数学之美 系列十八 - 矩阵运算和文本处理中的分类问题

2007年1月1日 下午 03:10:00发表者:Google 研究员,吴军 我在大学学习线性代数时,实在想不出它除了告诉我们如何解线性方程外,还能有什么别的用途。关于矩阵的许多概念,比如特征值等等,更是脱离日常生活。后来在数值分析中又学了很多矩阵的近似算法,还是看不到可以应用的地方。当时选这些课,完全是为了混学分的学位。我想,很多同学都多多少少有过类似的经历。直到后来长期做自然语

2012-04-07 18:05:09 684

原创 数学之美 系列十五 繁与简 自然语言处理的几位精英

2006年8月23日 下午 11:22:00发表者:吴军,Google 研究员 我在数学之美系列中一直强调的一个好方法就是简单。但是,事实上,自然语言处理中也有一些特例,比如有些学者将一个问题研究到极致,执著追求完善甚至可以说完美的程度。他们的工作对同行有很大的参考价值,因此我们在科研中很需要这样的学者。在自然语言处理方面新一代的顶级人物麦克尔 · 柯林斯 (Michael C

2012-04-07 17:31:32 586

原创 数学之美 系列十一 - Google 阿卡 47 的制造者阿米特.辛格博士

2006年7月10日 上午 09:52:00发表者:Google 研究员,吴军 枪迷或者看过尼古拉斯.凯奇(Nicolas Cage)主演的电影“战争之王”(Lord ofWar)的人也许还记得影片开头的一段话:(在所有轻武器中,)最有名的是阿卡 47( AK47)冲锋枪(也就是中国的五六式冲锋枪的原型),因为它从不卡壳、从不损坏、可在任何环境下使用、可靠性好、杀伤力大并且操作

2012-04-07 17:18:55 581

原创 数学之美 系列七 -- 信息论在信息处理中的应用

2006年5月25日 上午 07:56:00发表者:吴军, Google 研究员 我们已经介绍了信息熵,它是信息论的基础,我们这次谈谈信息论在自然语言处理中的应用。先看看信息熵和语言模型的关系。我们在系列一中谈到语言模型时,没有讲如何定量地衡量一个语言模型的好坏,当然,读者会很自然地想到,既然语言模型能减少语音识别和机器翻译的错误,那么就拿一个语音识别系统或者机器翻译软件来

2012-04-07 17:16:45 1287

原创 数学之美 系列十 有限状态机和地址识别

2006年7月5日 上午 09:09:00发表者:吴军,Google 研究员 地址的识别和分析是本地搜索必不可少的技术,尽管有许多识别和分析地址的方法,最有效的是有限状态机。一个有限状态机是一个特殊的有向图(参见有关图论的系列),它包括一些状态(节点)和连接这些状态的有向弧。下图是一个识别中国地址的有限状态机的简单的例子。每一个有限状态机都有一个启始状态和一

2012-04-07 17:14:47 723

原创 数学之美 系列九 -- 如何确定网页和查询的相关性

2006年6月27日 上午 09:53:00发表者:吴军,Google 研究员 [我们已经谈过了如何自动下载网页、如何建立索引、如何衡量网页的质量(Page Rank)。我们今天谈谈如何确定一个网页和某个查询的相关性。了解了这四个方面,一个有一定编程基础的读者应该可以写一个简单的搜索引擎了,比如为您所在的学校或院系建立一个小的搜索引擎。]我们还是看上回的例子,查找关于“

2012-04-07 16:58:36 473

原创 数学之美系列六 -- 图论和网络爬虫 (Web Crawlers)

2006年5月15日 上午 07:15:00发表者: 吴军,Google 研究员 [离散数学是当代数学的一个重要分支,也是计算机科学的数学基础。它包括数理逻辑、集合论、图论和近世代数四个分支。数理逻辑基于布尔运算,我们已经介绍过了。这里我们介绍图论和互联网自动下载工具网络爬虫 (Web Crawlers) 之间的关系。顺便提一句,我们用Google Trends 来搜索一下“离

2012-04-07 16:19:01 661

原创 数学之美 系列八-- 贾里尼克的故事和现代语言处理

2006年6月8日 上午 09:15:00发表者:Google 研究员,吴军 读者也许注意到了,我们在前面的系列中多次提到了贾里尼克这个名字。事实上,现代语音识别和自然语言处理确实是和它的名字是紧密联系在一起的。我想在这回的系列里,介绍贾里尼克本人。在这里我不想列举他的贡献,而想讲一讲他作为一个普普通通的人的故事。这些事要么是我亲身经历的,要么是他亲口对我讲的。弗莱德里克.

2012-04-07 16:00:59 724

原创 数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引

[建立一个搜索引擎大致需要做这样几件事:自动下载尽可能多的网页;建立快速有效的索引;根据相关性对网页进行公平准确的排序。我们在介绍 Google Page Rank (网页排名) 时已经谈到了一些排序的问题,这里我们谈谈索引问题,以后我们还会谈如何度量网页的相关性,和进行网页自动下载。]世界上不可能有比二进制更简单的计数方法了,也不可能有比布尔运算更简单的运算了。尽管今天每个搜索引擎都宣称

2012-04-07 15:40:34 557

原创 数学之美系列十二:余弦定理和新闻的分类

余弦定理和新闻的分类似乎是两件八杆子打不着的事,但是它们确有紧密的联系。具体说,新闻的分类很大程度上依靠余弦定理。Google 的新闻是自动分类和整理的。所谓新闻的分类无非是要把相似的新闻放到一类中。计算机其实读不懂新闻,它只能快速计算。这就要求我们设计一个算法来算出任意两篇新闻的相似性。为了做到这一点,我们需要想办法用一组数字来描述一篇新闻。我们来看看怎样找一组数字,或者说一个向

2012-04-07 15:37:40 676

原创 数学之美系列 4 -- 怎样度量信息?

发表者:吴军,Google 研究员前言: Google 一直以 “整合全球信息,让人人能获取,使人人能受益” 为使命。那么究竟每一条信息应该怎样度量呢?信息是个很抽象的概念。我们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。比如一本五十万字的中文书到底有多少信息量。直到 1948 年,香农提出了“信息熵”(shāng) 的概念,才解决了对信息的量化度量问题。

2012-04-07 15:29:20 450

原创 隐含马尔可夫模型在语言处理中的应用

2006年4月17日 上午 08:01:00发表者:吴军,Google 研究员前言:隐含马尔可夫模型是一个数学模型,到目前为之,它一直被认为是实现快速精确的语音识别系统的最成功的方法。复杂的语音识别问题通过隐含马尔可夫模型能非常简单地被表述、解决,让我不由由衷地感叹数学模型之妙。自然语言是人类交流信息的工具。很多自然语言处理问题都可以等同于通信系统中的解码问题 -- 一个人

2012-04-07 15:14:25 633

原创 Python自然语言处理学习笔记[一]---前言(preface)

2012-4-6 读前言(preface)部分 update time:2012-4-6Thisis a book about Natural Language Processing. By “natural language” we mean a languagethat is used for everyday communication by humans; languages su

2012-04-06 23:32:35 2759

原创 linux命令终极系列(grep)

一.grep命令常用参数(1)-A NUM       #grep -A 1 aa test.txt        说明:从test.txt中搜寻有aa样式的行,并显示该行的后1行 (2)-B NUM        #grep -B 1 aa test.txt        说明:从test.txt中搜寻有aa样式的行,并显示该行的前1行   (3) -C NUM

2012-03-22 15:54:33 712

原创 单链表逆置代码实现

void ListReverse(LinkList &L){if(!L)return;if(L->next==NULL)return;LNode* p=L;LNode* q=p->next;LNode* r=q->next;p->next=NULL;q->next=p;while(r){p=q;q=r;r=r->next;q->next=p;

2012-03-22 15:23:34 981

原创 linux命令终极系列之(find与xargs)

一、find 命令格式1、find命令的一般形式为;find pathname -options [-print -exec -ok ...]2、find命令的参数;pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print: find命令将匹配的文件输出到标准输出。-exec: find命令对匹配的文件

2012-03-22 14:57:31 441

转载 linux下查找某目录下所有文件包含某字符串的命令

linux下查找某目录下所有文件包含某字符串的命令: 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名 从文件内容查找与正则表达式匹配的行: $ grep –e “正则表达式” 文件名 查找时不区分大小写: $ grep –i "被查找的字符串" 文件名 查找匹配的行数: $ grep -c "被查找的字符串" 文件名 从文件内容查找

2012-03-22 14:56:43 1585

原创 linux硬链接与软链接区别

1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的

2012-03-22 14:13:12 880

原创 make工具介绍

2.3 make工具及makefile文件无论是在Linux还是在UNIX环境中,make都是一个非常重要的编译工具。无论是自己进行项目开发还是安装应用软件,都需要使用make工具。利用make工具,可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序而言,使用make工具和makefile文件就可以清晰地理顺各个源文件之间的关系。而且如此多的源文件,如果每

2012-03-04 17:09:34 2575 1

原创 Linux中创建静态库和动态库

一、基本概念1.1什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。  1.2库的种类linux下的库有

2012-03-04 14:11:06 675

原创 编程珠玑第四章-编写正确的程序

本章的目的是阐述如何利用对程序验证的理解帮助程序员写出正确的程序。作者再一次提到:编程技巧仅仅是编写正确程序的很小一部分,大部分内容还是前面三章讨论过的主题:问题定义、算法设计以及数据结构选择,如果这些步骤都完成很好,那么编写正确的程序通常是很容易的。本章引入了二分查找的问题,通过利用程序验证的思路,保证程序正确高效。在问题解决的过程中,通过一些细节阐述了许多一般性的原理,包括以下方面:1

2012-02-11 20:32:43 839

原创 编程珠玑第八章-算法设计技术

本章就一个小问题研究了四种不同的算法,重点强调了这些算法的设计技术,综合本章内容,告诉我们:复杂深奥的算法有时可以极大地提高程序性能。问题定义: 具有n个浮点数的向量x,求出输入向量的任何连续子向量的最大和。立方算法:maxsofar = 0;for i = [0,n)    for j=[i,n)        sum = 0;        for k=

2012-02-11 16:14:34 941

原创 linux多线程编程介绍

linux多线程编程介绍一、多线程定义多线程一词可以解释为多个控制线程或多个控制流。虽然传统的UNIX 进程包含单个控制线程,但多线程(multithreading, MT) 会将一个进程分成许多执行线程,其中每个线程都可独立运行。二、使用多线程的理由       使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式。我们知道,在Linux系统下,启动一个新的

2012-01-09 17:13:12 2123 1

原创 Vi使用详解

以问答的方式学习一下vi的使用,边看本文边进行实践是一种比较有效的学习方式。一、如何进入vi编辑器?在系统提示字符(如$、#)下敲入vi <档案名称>,vi 可以自动帮你载入所要编辑的文件或是开启一个新文件(如果该文件不存在或缺少文件名)。进入 vi 后萤幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。二、关于vi的两种模式?vi存在两种模式:指令模式和输入模式。在指令

2012-01-09 11:54:59 1875 1

原创 Windows消息处理机制

什么是消息消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录(一般在 C/Java/汇编 中称为“结构体”)中包含了消息的类型以及其他信息。例如,对单击鼠标所产生的消息来说,这个记录(结构体)中包含了单击鼠标的消息号(WM_LBUTTO

2012-01-08 21:38:13 960 1

原创 堆和栈的区别

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—  由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)  —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两回事

2012-01-08 21:36:55 702

原创 小端法与大端法及验证机器小端还是大端的验证程序

首先请看定义:a) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。b) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。举例说明:假设变量x类型为int,位于地址0x100处,x的十六进制表示形式为0x01234567。地址范围0x100~0x103。则该变量在不同机器内存中的分布如下图所示:

2012-01-08 19:47:12 3408

原创 函数重载/重写/重定义(覆盖)

1. 重载 (overload):      指函数名相同,但是它的参数表列个数或顺序,类型不同。但是不能靠返回类型来判断。函数重载存在于同一个类的定义中。2. 重写 (override):     父类与子类之间的多态性。子类重新定义父类中有相同名称和参数的虚函数。1) 被重写的函数不能是 static 的。必须是 virtual 的 ( 即函数在最原始的基类中被声明为 vi

2012-01-08 17:42:31 2757

转载 printf格式控制符

一、完整格式%   - 0   m.n  l或h   格式字符①%:表示格式说明的起始符号,不可缺少。②-:有-表示左对齐输出,如省略表示右对齐输出。③0:有0表示指定空位填0,如省略表示指定空位不填。④m.n:m指域宽,若数据的位数小于m,则左端补空格,若大于m,则按实际位数输出。       n指精度,用于说明输出的实型数的小数位数。未指定n时,隐含的精度为n=

2012-01-07 17:29:38 1558

原创 关于中文分词

中文分词 (Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂的多、困难的多。

2011-12-20 19:59:51 1944 1

原创 k-means(k均值聚类)算法介绍及实现(c++)

基本介绍:k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。工作过程:  k-means 算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对

2011-12-11 21:49:06 39627 12

原创 求字符串中子串出现的次数(c++实现)

题目如题目所示。代码如下:int findSubStringNUM(const char* targetString,const char* subString){ assert(NULL!=targetString||NULL!=subString); int i=0; int j=0; int num=0; while(targetString[i]!='\0'){ if(s

2011-12-08 16:12:07 6800 1

转载 C++中const用法总结

1.     const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误。2.      const 修饰类的数据成员。

2011-12-06 17:12:37 1728

原创 做几个笔试题【一】

1、C ++为什么经常将析构函数声明为虚函数?简单的说就是在实现多态时,如定义了一个指向派生类的基类指针,当delete该基类指针时,如果不将基类的析构函数声明为虚,只会调用基类的析构函数,而不会调用派生类的析构函数,为了保证同时调用派生类的析构函数,需要将析构函数声明为虚。 2、inline和#define的如何定义MAX,区别是什么。template inline T MAX

2011-12-06 17:10:45 1288

程序员面试精选100题【附答案】

不错的资源,涵盖了很多大公司笔试面试的算法题目,内容不仅共享了题目,而且也有翔实的答案,多读几遍,对笔试面试很有帮助,预祝大家找到好的工作。同时谢谢资源的原始创作者。

2011-10-11

Intel Threading Building Blocks编程指南

学习并行编程不错的教材,希望对大家有帮助。

2011-03-21

tbb入门中文材料(getstart)

tbb不错的入门教材,希望对大家有帮助.该文档详细介绍了tbb的安装及基本的使用。

2011-03-11

go语言编程教程(go-0.1-0.3)

学习go语言不错的编程教程,内容比go-course(1-3)及effective-go更翔实,而且配有不错的例题,测试题及解答。

2011-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除