首页
登录
从业资格
搜索引擎会通过日志文件把用户每次检索使用的所有查询串都记录下来,每个查询串的长度
搜索引擎会通过日志文件把用户每次检索使用的所有查询串都记录下来,每个查询串的长度
免费题库
2022-08-02
129
问题
搜索引擎会通过日志文件把用户每次检索使用的所有查询串都记录下来,每个查询串的长度不超过255字节。假设目前有一千万个查询记录(重复度比较高,其实互异的查询串不超过三百万个;显然,一个查询串的重复度越高,说明查询它的用户越多,也就是越热门)。现要统计最热门的1 0个查询串,且要求使用的内存不能超过1GB。以下各方法中,可行且效率最高的方法是( )。A.将一千万个查询串存入数组并进行快速排序,再统计其中每个查询串重复的次数B.将一千万个查询串存入数组并进行堆排序,再统计其中每个查询串重复的次数C.利用哈希表保存所有的查询串并记下每个查询串的重复次数,再利用小根堆选出重复次数最多的1 0个查询串D.利用哈希表保存所有的查询串并记下每个查询串的重复次数,再利用大根堆选出重复次数最多的1 0个查询串
选项
A.将一千万个查询串存入数组并进行快速排序,再统计其中每个查询串重复的次数
B.将一千万个查询串存入数组并进行堆排序,再统计其中每个查询串重复的次数
C.利用哈希表保存所有的查询串并记下每个查询串的重复次数,再利用小根堆选出重复次数最多的1 0个查询串
D.利用哈希表保存所有的查询串并记下每个查询串的重复次数,再利用大根堆选出重复次数最多的1 0个查询串
答案
C
解析
此题也是考查对基本算法的理解运用,首先快速排序方法是不适合于这种情况的,由于重复度比较高,因此事实上只有300万的Query,每个Query255Byte, 可以考虑把他们都放进内存中去,300万X255=765M,不会超过1G,因此可以用Hash_Map的思路。先对这批海量数据预处理(维护一个Key为Query字串,Value为该Query出现次数的HashTable,即hash_map(Query,Value),每次读取一个Query,如果该字串不在Table中,那么加入该字串,并且将Value值设为1;如果该字串在Table中,那么将该字串的计数加1即可。最终我们在O(N)的时间复杂度内用Hash表完成了统计;第二步、借助堆这个数据结构,找出Top K,时间复杂度为N‘logK。即借助堆结构,我们可以在log量级的时间内查找和调整/移动。因此,维护一个K(该题目中是10)大小的小根堆,然后遍历300万的Query,分别和根元素进行对比,采用最小堆这种数据结构代替数组,把查找目标元素的时间复杂度降到了0(logk),我们最终的时间复杂度是:O(N) + N*O(logK)。(N为1000万,N’为300万)。这是一道百度面试题。
转载请注明原文地址:https://tihaiku.com/congyezige/2427225.html
本试题收录于:
初级程序员题库软件水平考试初中高级分类
初级程序员
软件水平考试初中高级
相关试题推荐
BIM技术和()的结合完美地解决了可视化资产监控、查询、定位管理。A.GIS技术
施工图设计文件由封面、图纸目录、设计说明(或首页)、图纸、预算书等组成。各专业工
BIM技术在()方面的应用主要体现在钢筋准确下料、构建信息查询及出具构件加工详图
下列哪项不是导入图像界面后所支持的文件类型格式?()A.*.tif B.*.p
Revit软件的基本文件格式主要分为()。A.rte格式 B.rvt格式 C
BIM建筑空间管理即基于BIM技术,业主可通过()直观地查询定位到每个租户的空间
RevitArchitecture的项目文件格式为()。A.rte B.rfa
下列有关BIM数据文件和数据库多种形式数据交互常用格式无错误的是()。A.IFC
以下文件格式中属于开放标准格式的是()。A.DWG B.SKP C.RVT
BIM深化设计协调管理流程是()。A.建立规范文件存储体系 B.定制统一的标准
随机试题
AcrosstheUnitedStates,scientistsaremountingwhatmaybecomethemosti
SpeakerA:Goodevening,sirandmadam.SpeakerB:Goodevening.【D1】______Spea
Doyoualwaysunderstandthedirectionsonabottleofmedicine?Doyouknow
Shiftworkisconcentratedinthemostdangerousareasofemployment.Ithas
甲因出国工作,将自己的宠物犬寄养在朋友乙家。2015年5月2日,乙擅自决定将该犬
蒙太奇是法语montage的音译,用于电影方面有( )之意,是电影艺术的重要表
(2018年真题)委托人开展网络借贷资金存管业务,应指定不超过三家存管人作为资金
2017年4月,某审计组对丙公司2016年度财务收支进行了审计,有关薪酬业务审计
A.有效期 B.规格 C.产品批号 D.执行标准原料药标签的内容不包括
医生白某因挪用公款用于个人经营,被判有期徒刑1年。 白某对关于其执业问题的决
最新回复
(
0
)