Go语言 排序与搜索切片

Python014

Go语言 排序与搜索切片,第1张

Go语言标准库中提供了sort包对整型,浮点型,字符串型切片进行排序,检查一个切片是否排好序,使用二分法搜索函数在一个有序切片中搜索一个元素等功能。

关于sort包内的函数说明与使用,请查看 https://godoc.org/sort

在这里简单讲几个sort包中常用的函数

在Go语言中,对字符串的排序都是按照字节排序,也就是说在对字符串排序时是区分大小写的。

二分搜索算法

Go语言中提供了一个使用二分搜索算法的sort.Search(size,fn)方法:每次只需要比较㏒₂n个元素,其中n为切片中元素的总数。

sort.Search(size,fn)函数接受两个参数:所处理的切片的长度和一个将目标元素与有序切片的元素相比较的函数,该函数是一个闭包,如果该有序切片是升序排列,那么在判断时使用 有序切片的元素 >= 目标元素。该函数返回一个int值,表示与目标元素相同的切片元素的索引。

在切片中查找出某个与目标字符串相同的元素索引

全球十大搜索引擎

1. Google ——  全球最大的 (机器)搜索引擎

主要搜索结果将列入AOL, Netscape, iwon和Go.

Google在对网站进行排名时不仅衡量关键词与页面的匹配度,也考虑外部链接。一个网站拥有越多的外部链接,说明它越受欢迎。

2. Yahoo

—— 世界最早的分类目录,也是最大的门户网站。

它的搜索结果最初来自于Google,后采用Inktomi(已被雅虎收购)提供的结果。Yahoo现在开发了自己的搜索技术,称为Yahoo

Search Technology (YST)。

3. MSN

—— 录属于微软公司。

MSN提供的Hotmail和MSN

Message极受欢迎。但MSN没有自己的搜索引擎,一直采用其他搜索引擎的结果。比如,MSN主要搜索结果来自于Inktomi,竞价广告原由LookSmart提供,但于2004年初改由Overture提供。

4. AOL —— 美国在线,是美国也是世界上最早的门户网站之一。

几年前已与时代公司合并,成为美国在线-时代华纳公司。AOL目前的主营业务是ISP。其搜索结果 全部来自于Google 提供。也就是说,有良好的Google排名也有良好的AOL排名。

5. Lycos —— 西班牙公司,全称为Terry Lycos,是全世界最早的搜索引擎之一。

目前,Lycos已放弃自己开发的搜索技术,而主要搜索结果来自于Alltheweb。另外,其竞价排名结果来自于Google的右侧广告。

6. Ask Jeeves —— 规模不大,但很有特色的搜索搜索。

Ask是DirectHit的母公司,于2001年收购Teoma搜索引擎,并全部采用其搜索结果。奇怪的是,Ask的竞价排名结果却仍然来自于Google的右侧广告。

7. Overture —— 最早的付费搜索引擎(竞价排名搜索引擎)。

搜索结果被Yahoo,

MSN等采用。Overture收购了Google的对手Inktomi后被Yahoo收购,是Google AdWords目前最大的竞争对手。

如何在Overture做竞价排名广告

8. Netscape

—— 即网景公司,Netscape最初被广大用户认知是因为它的Netscape浏览器。

但网景公司研发的浏览器现在几乎完全被微软的Internet

Explorer浏览器逐出市场。只有少数的网民(不使用微软操作系统的)使用Netscape浏览器。Netscape的搜索结果

全部来自于Google. 另外,全世界最大的开放式目录DMOZ录属于网景公司。

9. AltaVista —— 全世界最古老的搜索引擎之一,中国网民很难访问。

该搜索引擎已于2003年被Yahoo收购。同时被Yahoo收购的还有AllTheWeb。

微迪认为,AltaVista不久可能销声匿迹,因为Yahoo并没有采用AltaVista、Alltheweb或者Inktomi的搜索结果,而是重新开发全新的搜索技术。

10. Inktomi

—— 不向终端用户开放,只对搜索引擎提供搜索结果。

于2003年被Overture收购(Overture后又被Yahoo收购)。在2004年Yahoo开发自己全新的搜索引擎技术之前,Inktomi还是全球第二大搜索引擎,其搜索结果被Hotbot,

MSN等著名的网站采用。

拓展资料:

搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。

一个搜索引擎由搜索器 、索引器 、检索器 和用户接口 四个部分组成。搜索器的功能是在互联网 中漫游,发现和搜集信息。索引器的功能是理解搜索器所搜索的信息,从中抽取出索引项,用于表示文档 以及生成文档库的索引表。检索器的功能是根据用户的查询在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并实现某种用户相关性反馈机制。用户接口的作用是输入用户查询、显示查询结果、提供用户相关性反馈机制。

参考资料:百度百科_搜索引擎