您的位置:首页 > 其它

第2次实验——算法基本功 与 综合思考

2014-06-10 19:26 204 查看
(2)经典算法面试题(至少选择其中1道题并作答,有自己的思考与理解)

给出一个函数来输出一个字符串的所有排列。主体代码来自网络http://www.dewen.org/q/8283
public class aaa {
public static void main(String[] args) {
String str = "abc";
permutation(str.toCharArray(), 0);
}

public static void permutation(char[] str, int i) {
if (i >= str.length)
return;
if (i == str.length - 1) {
System.out.println(String.valueOf(str));
} else {
for (int j = i; j < str.length; j++) {
char temp = str[j];
str[j] = str[i];
str[i] = temp;

permutation(str, i + 1);

temp = str[j];
str[j] = str[i];
str[i] = temp;
}
}
}
}


运行结果:



 

(3)算法综合实践——搜索引擎

    上网搜索有关“搜索引擎”的相关资料,包括但不限于以下方面(至少要有2个方面):搜索引擎岗位要求、搜索引擎工作原理、搜索引擎涉及到教材中哪些算法、搜索引擎的盈利模式、搜索引擎源码链接、国内外搜索引擎公司现状等。
1)搜索引擎的盈利模式

在搜索引擎发展早期,多是作为技术提供商为其他网站提供搜索服务,网站付钱给搜索引擎。后来,随着2001年互联网泡沫的破灭,大多转向为竞价排名方式。
搜索引擎的主流商务模式(百度的竞价排名、Google的AdWords)都是在搜索结果页面放置广告,通过用户的点击向广告主收费。这种模式最早是比尔·格罗斯(Bill
Gross)提出的。他于1998年6月创立GoTo公司(后于2001年9月更名为Overture),实施这种模式,取得了很大的成功,并且申请了专利。这种模式有两个特点,一是点击付费(Pay Per Click),用户不点击则广告主不用付费。二是竞价排序,根据广告主的付费多少排列结果。 2001年10月,Google推出AdWords,也采用点击付费和竞价的方式。2002年,Overture起诉Google侵犯了其专利。2004年8月,和Yahoo!(Yahoo!于2003年7月收购Overture)达成和解,向后者支付了270万普通股(合3亿美元不到)作为和解费。
AdSense是Google于2003年推出的一种新的广告方式。AdSense使各种规模的的第三方网页发布者进入Google庞大的广告商网络。Google在这些第三方网页放置跟网页内容相关的广告,当浏览者点击这些广告时,网页发布者能获得收入。AdSense在blogger中很受欢迎。同时,Google武断地删除一些帐号,引起部分人的不满。类似的广告方式,其他搜索引擎也先后推出。雅虎的广告方式是YPN(Yahoo
Publisher Network),YPN ;除了可以在网页上显示与内容相关的广告以外,还可以通过在 RSS ;订阅中来显示广告。微软的广告计划叫AdCenter。百度也推出主题推广。
2)搜索引擎工作原理

第一步:爬行
搜索引擎是通过一种特定规律的软件跟踪网页的链接,从一个链接爬到另外一个链接,像蜘蛛在蜘蛛网上爬行一样,所以被称为“蜘蛛”也被称为“机器人”。搜索引擎蜘蛛的爬行是被输入了一定的规则的,它需要遵从一些命令或文件的内容。
第二步:抓取存储
搜索引擎是通过蜘蛛跟踪链接爬行到网页,并将爬行的数据存入原始页面数据库。其中的页面数据与用户浏览器得到的HTML是完全一样的。搜索引擎蜘蛛在抓取页面时,也做一定的重复内容检测,一旦遇到权重很低的网站上有大量抄袭、采集或者复制的内容,很可能就不再爬行。
第三步:预处理
搜索引擎将蜘蛛抓取回来的页面,进行各种步骤的预处理。
⒈提取文字
中文分词
⒊去停止词
⒋消除噪音(搜索引擎需要识别并消除这些噪声,比如版权声明文字、导航条、广告等……)
5.正向索引
6.倒排索引
7.链接关系计算
8.特殊文件处理
除了HTML 文件外,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如 PDF、Word、WPS、XLS、PPT、TXT 文件等。我们在搜索结果中也经常会看到这些文件类型。但搜索引擎还不能处理图片、视频、Flash 这类非文字内容,也不能执行脚本和程序。
第四步:排名
用户在搜索框输入关键词后,排名程序调用索引库数据,计算排名显示给用户,排名过程与用户直接互动的。但是,由于搜索引擎的数据量庞大,虽然能达到每日都有小的更新,但是一般情况搜索引擎的排名规则都是根据日、周、月阶段性不同幅度的更新。

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: