今天晚上整理了两道比较简单关于搜索引擎的题目,所有题均是Iveely搜索引擎中遇到的,与大家分享你的智慧吧!都不难,但是希望能够找到一种最佳的解决办法。

问题一: 

背景介绍:

在用户搜索的过程中,我们会将用户的关键字进行切分后,然后进行匹配。例如:用户输入“程序人生”,分词后会得到"程序"、“人生”,我们已经可以通过时间复杂度为0(1)的方式提取出“程序”对应的网页集合(9.00235,123.00691,96.00035...),以及"人生"对应的网页集合(6.00025,123.00128,95.00245...),其中  整数部分是网页编号,小数部分是该关键字在该网页下的实际权值(价值),下一步,我们将合并“程序”,“人生”的网页集合,然后反馈给用户。
     问题产生:
在合并的过程中,可能会遇到相同的网页,那么遇到相同网页的时候,我们将小数部分相加,整数部分不变,若小数部分累加后大于1则,全体集合中的小数 部分乘以0.1,然后继续累加。
需解决的问题:
请设计一个数据结构,能够在尽可能廉价的时间复杂度和空间复杂度下解决上面问题。

问题二: 

背景介绍:

搜索引擎中,每一个关键字都对应了无数张网页,每一张网页都对应着若干的关键字,搜索引擎在获取到关键字后,一定要在尽可能快的时间内获取出拥有该 关键字的网页集合,目前最常用的做法是倒排序,然而倒排序文件中,虽然能够很快的提取出网页的关键字,但是网页的权重却不定相同。也就是到排文件的结构是无序的。

下面我们把问题抽象为北京地铁站信息,每一个站点都是关键字,每一条线路都是网页。每一个站点被多条线路包含(每一个关键字被若干网页包含),每一 条线路包含多个站点(每一张网页包含多个关键字)。

问题的产生:

倒排文件已经让我们可以很快的提取出站点对应的线路,但是遗憾的是,例如:用户搜索西直门,那么将返回地铁2号线,地铁4号线以及地铁13号线。然而,地铁4号线和地铁2号线又有另外一个交集站点:宣武门。我们为什么需要知道宣武门呢?因为在Iveely的设计当中,认为:当搜索结果中的交集 站点越集中,当达到一个程度时,这个站点也可能是用户比较感兴趣的站点(数学证明:略),例如上图中,若用户换乘地铁时,可能是想在西直门换乘地铁,如果结果中的地铁线路集合中包含宣武门的也很多,那么我们假设宣武门也可以是一个很好的换乘地铁方案。

需要解决的问题:

请设计一种数据结构,在尽可能廉价的时间复杂度和空间复杂度下,计算出,搜索结果中包含相同站点的排序集合(按照出现的结果中包含的次数)。最简单的例如:输入西直门,可以返回推荐宣武门,如果还有包含的站点依次按照出现次数列出。

以上题目是我自己拟出来的,是我在开源Iveely过程中遇到的问题,我想这是比较有意义的题目,因为不仅仅是我们的思维,还有我们code技术,当然最重要的是我们的数学,陆续我也会将其它类似的问题发出来,让大家一起探讨,学习,欢迎您对Iveely搜索引擎的关注,如果您有什么好的意见或建议,可以邮件liufanping@iveely.com 或微薄联系我。 

转载于:https://www.cnblogs.com/liufanping/archive/2012/09/18/2691427.html

Iveely搜索引擎二三题,用你的智慧来解决吧!相关推荐

  1. 提取智慧树试卷_如何用搜题软件查找《智慧树(知到)》考试试题及答案?

    如何用搜题软件查找<智慧树(知到)>考试试题及答案? 更多相关问题 [多选题]在选择促销策略时,应考虑()等因素 A. 产品特点 B. 促销目标 C. 顾客群体特点 D. 预算 激光切割过 ...

  2. 麦麦养老:养老照护服务关键痛点及智慧养老解决路径实践案例解析

    主讲人丨郭 飞 开篇: 7月24日,AgeClub成功在上海举办<2020中国老年行业创新发展系列论坛>,聚焦于后疫情时期中国老年行业的最新机会与挑战应对.会上,我们邀请了麦麦养老副总裁兼 ...

  3. 职教云python题和答案_智慧职教云课堂APPPython程序设计题库及答案

    智慧职教云课堂APPPython程序设计题库及答案 更多相关问题 What are the features of Eton College? 在温度T时,容器内充有3.0 mol的氧气,2.0 mo ...

  4. 怎么查python题答案_知到智慧树_Python程序设计基础_答案免费查询

    正则化表达\"ab{2}\":表示一个字符串有一个a跟着2个b(\"abb\"): 汉字的国标码与其内码存在的关系是,汉字的内码=汉字的国标码+() [多选题] ...

  5. 职教云python题和答案_智慧职教云课堂Python程序设计试题及答案

    智慧职教云课堂Python程序设计试题及答案 更多相关问题 [判断题]称取某样品 0. 0250g 进行分析,最后分析结果报告为 96.24(质量分数)是合理的. [单选题]3. Why does t ...

  6. 职教云python题和答案_智慧职教云课堂APPPython程序设计题目及答案

    智慧职教云课堂APPPython程序设计题目及答案 更多相关问题 [多选] 常见的土地使用权价格是(). [多选] 下列属于估价业务的服务内容的有(). [单选] 工业用地的土地使用权出让最高年限为( ...

  7. 职教云python题和答案_智慧职教云课堂APPPython程序设计基础题目及答案

    智慧职教云课堂APPPython程序设计基础题目及答案 更多相关问题 我国IT系统中的T代表( ). [填空题]高可二黍 许 [填空题]讨贼兴复之 效 [多选题]在Creo中,要创建孔的轴线与已有模型 ...

  8. 职教云python题和答案_智慧职教云课堂Python程序设计基础题目答案

    智慧职教云课堂Python程序设计基础题目答案 更多相关问题 [单选] 以下描述中不属于网络财务内涵的是(). [单选] ERP与ECP指的是哪个商品设置类型(). [多选] EXCEL提拱的筛选操作 ...

  9. python搜题手机软件_智慧职教APPPython程序设计(深圳信息职业技术学院)答案搜题公众号...

    智慧职教APPPython程序设计(深圳信息职业技术学院)答案搜题公众号 更多相关问题 会计核算软件是指专门用于()的计算机应用软件. A.会计职称考试B.录入记账凭证C.审 健全会计电算化管理制度是 ...

最新文章

  1. unbuntu下安装flash插件
  2. python turtle画彩虹-python绘制彩虹图
  3. Verlet-js JavaScript 物理引擎
  4. SPI及其工作原理浅析
  5. VS2010 MFC exe独立系统环境运行
  6. 2/5 MySQL入门总结:数据类型
  7. apache 验证 php 安装,PHP的安装以及验证Apache
  8. [leetcode]63. 不同路径 II
  9. kotlin中的异常处理_Kotlin异常处理
  10. tf.data.Dataset.zip()讲解 和 python自带的zip()的异同
  11. 项目实战第二十一讲:平台商品库
  12. 2008中国IT前瞻
  13. c语言英文拼写检查器,c – 简单的拼写检查算法
  14. android集成sdk 马甲包,Android配置马甲包
  15. Android 插件仓库
  16. Y05 - 999、Python - 风变编程
  17. 2019年3月菜鸟实习生电话面试题
  18. 判断设备信息是否为移动端,移动端跳转到移动端网页(手机网站)
  19. Linux上使用ZFS
  20. Ubuntu18.04安装QQ、网易云音乐、百度云盘、搜狗输入法

热门文章

  1. 网站大访问量优化整体思路
  2. CentOs7安装apache以及遇到的问题
  3. Licia:最全最实用的 JavaScript 工具库
  4. 【转】如何修改Chrome缓存目录的地址
  5. js中null和undefined
  6. 《转》程序员必须知道的10大基础实用算法及其讲解
  7. linux 性能监视命令
  8. java.io.IOException: Unable to open sync connection!的解决方案
  9. Android 颜色设置:透明度换算
  10. Android Studio:64K问题com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536