发布于 2014-10-15 09:39:39 | 780 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

百度(Baidu)中文搜索引擎

百度(Nasdaq简称:BIDU)是全球最大的中文搜索引擎,2000年1月由李彦宏、徐勇两人创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。


本文是一篇 百度2015校园招聘笔试题-自然语言处理工程师岗位,感兴趣的同学参考下。

百度笔试都要用c/c++, 真是受不了结构体指针链表神马的。。

一、简答

1. new 和 malloc的区别。

1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。

2, 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函 数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。

3,因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以一个能完成清理与释放内存工作的运算符delete。注意new/delete不是库函数。

4,C++程序经常要调用C函数,而C程序只能用malloc/free管理动态内存

 

2. hash 冲突及解决办法。

关键字值不同的元素可能会映象到哈希表的同一地址上就会发生哈希冲突。解决办法:

1)开放定址法:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。沿此序列逐个单元地查找,直到找到给定 的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。查找时探查到开放的 地址则表明表中无待查的关键字,即查找失败。

2) 再哈希法:同时构造多个不同的哈希函数。

3)链地址法:将所有哈希地址为i的元素构成一个称为同义词链的单链表,并将单链表的头指针存在哈希表的第i个单元中,因而查找、插入和删除主要在同义词链中进行。链地址法适用于经常进行插入和删除的情况。

 

4)建立公共溢出区:将哈希表分为基本表溢出表两部分,凡是和基本表发生冲突的元素,一律填入溢出表。

 

二、编程

1. 实现归并排序。

2. 二叉树的S型遍历。

 第一层从左到右,第二层从左到右,第三层从左到右……

3. 20亿url的存在一个文本中,一个url占一行,其中有重复,统计出url的频率。

三、系统设计

1.自然语言处理中的前向匹配常被用于分词。

遥远的古巴比伦

前向匹配分词结果为

遥远的|古巴|比伦

前向匹配分词结果为:

遥|远的|古|巴比伦

要求写出前向匹配的接口及实现方法。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务